Base64 编码的点火文件变得混乱

Base64 编码的点火文件变得混乱

我目前正在 ESXi(非生产,我自己的硬件)上设置 OKD 集群,遵循以下步骤Red Hat 网站上的官方文档,但我没有使用 RHCOS,而是使用 Fedora CoreOS。

到目前为止,我已经设置了负载平衡器、创建了 DNS 条目并生成了点火配置。我在 CentOS 8 VM 上创建了这些,并将它们复制到我的 Windows 10 工作站进行备份。我对ignition还很陌生,所以我唯一改变的是URL从https://...http://...因为我不想在我的测试环境中弄乱它。

但这就是有点奇怪的地方。这是我的master.ign文件的内容:

"ignition": {
    "config": {
        "merge": [{
            "source": "http://api-int.openshift.<mydomain>.local:22623/config/master"
        }]
    },
    "security": {
        "tls": {
            "certificateAuthorities": [{
                "source": "data:text/plain;charset=utf-8;base64,<BASE64 ENCODED CERT>"
            }]
        }
    },
    "version": "3.0.0"
}

如果我复制 Base64 编码的证书并在我的 CentOS VM 上对其进行解码,它会生成一个(看起来有效的)证书。但是如果我对整个文件进行编码(这是必需的通过教程)并让机器用它启动,我收到一条错误消息,指出证书无效并且解码出现问题(我可以稍后提取特定的日志文件)。

如果我尝试手动解码文件,然后解码证书,则会出现无效字符(对象替换字符和替换字符)的乱码。

那么有人知道我的问题可能是什么吗?我错过了什么吗?

或者也许我什至可以省略安全部分,因为我使用的是http? (还没有尝试过,在输入此内容时想到了这个想法)

答案1

在我尝试再次编码后,问题自行解决。

但我怀疑为什么会发生这种情况。我通过哈希值比较了我的电脑上的原始文件和下载版本,它们绝对不一样。所以解释可能是我下载的版本不知何故损坏了。从那时起我就无法复制这个问题了。

我还仔细研究了我的 Fedora CoreOS-VM。无论是否有有效的ignition配置,启动过程看起来都大致相同ignition。我怀疑无效的ignition配置会被简单地忽略,并且启动过程会在没有它的情况下继续进行。

相关内容