openshift - OKD 4.5 单节点安装
问题描述
我正在尝试按照 Craig Robinson 博客文章(位于https://medium.com/swlh/guide-okd-4-5-single-node-cluster-832693cb752b)构建一个 OKD 4.5 单节点集群。我首先在引导节点上遇到了这个问题,但是在再次删除并重新创建整个过程之后,它成功启动了。但是在准备控制平面主节点时,同样的问题再次发生。在初始 coreos 下载(证明 webserver 工作正常)之后,我一遍又一遍地收到这个重复出现的 GET 错误消息:
ignition[xxx]: GET error: Get "https://api-int.lab.okd.local:22623/config/master": EOF
这是我的控制平面节点配置:
ip=10.106.31.233::10.106.31.1:255.255.255.0:::none nameserver=10.106.31.231 coreos.inst.install_dev=/dev/sda coreos.inst.image_url=http://10.106.31.231:8080/okd4/ fcos.raw.xz coreos.inst.ignition_url=http://10.106.31.231:8080/okd4/master.ign
IP 是: okd-services: 10.106.31.231 ;引导程序:10.106.31.232;控制平面:10.106.31.233
我可以从远程 pc 访问http://10.106.31.231:8080/okd4地址并列出包括 master.ign 文件在内的内容。ping“api-int.lab.okd.local”也成功了。okd-services 节点上的 firewalld 开放端口是:
[root@okd4-services ~]# ss -ltu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:hostmon 0.0.0.0:*
udp UNCONN 0 0 10.106.31.231:domain 0.0.0.0:*
udp UNCONN 0 0 127.0.0.1:domain 0.0.0.0:*
udp UNCONN 0 0 127.0.0.53%lo:domain 0.0.0.0:*
udp UNCONN 0 0 [::]:hostmon [::]:*
udp UNCONN 0 0 [::]:domain [::]:*
tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
tcp LISTEN 0 4096 127.0.0.1:rndc 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:https 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:22623 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:cslistener 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:sun-sr-https 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:hostmon 0.0.0.0:*
tcp LISTEN 0 4096 0.0.0.0:http 0.0.0.0:*
tcp LISTEN 0 10 10.106.31.231:domain 0.0.0.0:*
tcp LISTEN 0 10 127.0.0.1:domain 0.0.0.0:*
tcp LISTEN 0 4096 127.0.0.53%lo:domain 0.0.0.0:*
tcp LISTEN 0 128 [::]:ssh [::]:*
tcp LISTEN 0 4096 [::1]:rndc [::]:*
tcp LISTEN 0 4096 [::]:hostmon [::]:*
tcp LISTEN 0 511 *:webcache *:*
tcp LISTEN 0 10 [::]:domain [::]:*
okd-services 节点上的 dig 测试的输出是:
[root@okd4-services ~]# dig -x 10.106.31.231
; <<>> DiG 9.11.25-RedHat-9.11.25-2.fc33 <<>> -x 10.106.31.231
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60620
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;231.31.106.10.in-addr.arpa. IN PTR
;; ANSWER SECTION:
231.31.106.10.in-addr.arpa. 604800 IN PTR api-int.lab.okd.local.
231.31.106.10.in-addr.arpa. 604800 IN PTR api.lab.okd.local.
231.31.106.10.in-addr.arpa. 604800 IN PTR okd4-services.okd.local.
;; SERVER: 127.0.0.53#53(127.0.0.53)
我删除并重新创建了控制平面以查看它是否解决了问题,但没有成功。知道这个问题是什么意思吗?
解决方案
我对这篇文章有完全相同的问题。问题在于无法完成初始化过程的引导节点。首先初始化引导节点并确保该过程已完成。检查节点情况的最简单方法:
ssh core@<NODE'S-IP>
从生成 ssh-certificate 的机器连接到节点- ssh 将为您提供有用的信息:
这是引导节点;当主人完全启动时,它将被摧毁。
主要服务是 release-image.service,然后是 bootkube.service。要查看他们的状态,运行例如
journalctl -b -f -u release-image.service -u bootkube.service 这是引导节点;当主人完全启动时,它将被摧毁。
主要服务是 release-image.service,然后是 bootkube.service。要查看他们的状态,运行例如
journalctl -b -f -u release-image.service -u bootkube.service Fedora CoreOS 32.20200629.3.0 跟踪器: https ://github.com/coreos/fedora-coreos-tracker讨论: https ://discussion.fedoraproject.org /c/服务器/coreos/
- 首先你必须检查
journalctl -b -f -u release-image.service -u bootkube.service
,因为它是主要单位。但是,可能还有其他问题,因此请检查失败/未完成的 systemd 服务单元systemctl list-units --type=service
并journalctl -f -u <UNIT-NAME>
遵循流程 - 整个过程将花费一些时间(在我的情况下约为 20-40 分钟),并且日志的日志中可能会有一些超时,所以请等待单元的最终状态。
- 只有这样你才能开始初始化控制平面节点
最后,我的问题是错误的 fedora-core-os 版本,因为您只能使用 32 版本。对我来说,它的安装没问题:
推荐阅读
- javascript - 在屏幕之间导航时尽快清空/隐藏平面列表
- javascript - 同一元素上的 CSS 冲突变换属性
- symfony5 - 为整个包设置 Symfony 翻译域
- javascript - 防止 Django 模板表单中的重定向
- python - tf.data:函数尝试转换为 numpy 数组失败?
- grep - 字数和输出
- c# - C# - 有一个列表
并且想要检索使用该接口而不使用 foreach 循环的不同对象 - python - 如何从列中删除字母和引号
- python - 我的 python 程序退出而不是循环
- javascript - setTimeout 一天中的特定时间,然后停止直到下一个特定时间