问题描述
我正在尝试按照 Craig Robinson 博客文章(位于 https://medium.com/swlh/guide-okd-4-5-single-node-cluster-832693cb752b)构建一个 OKD 4.5 单节点集群。我首先在引导节点上遇到了这个问题,但是在删除并再次重新创建整个过程后,它成功启动。但是在准备控制平面主节点时又出现了同样的问题。在初始 coreos 下载后(证明网络服务器工作正常),我一遍又一遍地收到此重复出现的 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 证书的机器连接到带有
ssh core@<NODE'S-IP>
的节点 - ssh 将为您提供有用的信息:
这是引导节点;当master被销毁时它会被销毁 完全起来。
主要服务是 release-image.service 其次是 bootkube.service。要查看他们的状态,请运行例如
journalctl -b -f -u release-image.service -u bootkube.service 这个 是引导节点;当master完全被销毁时它会被销毁
主要服务是 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/server/coreos/
- 首先,您必须检查
journalctl -b -f -u release-image.service -u bootkube.service
,因为它是主要单位。但是,可能还有其他问题,因此请使用systemctl list-units --type=service
和journalctl -f -u <UNIT-NAME>
检查失败/未完成 systemd 的服务单元以遵循流程 - 整个过程将花费一些时间(在我的情况下约为 20-40 分钟),并且日志日志中可能会有一些超时,因此请等待单元的最终状态。
- 只有这样你才能开始初始化控制平面节点
最后,我的问题是错误的 fedora-core-os 版本,因为您只能使用 32 版本。对我来说,它安装没问题: