我目前正在 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
配置会被简单地忽略,并且启动过程会在没有它的情况下继续进行。