RHEL 从 7 升级到 8 后,我在 kubernetes 中遇到问题。所有其他 pod 都在集群中启动,但我有特定的 pod(比如 x),它依赖于 redis svc(redis pod 正在运行),并且看起来由于它们之间的连接问题,pod x 没有启动。有时会卡在
Init:0/1
或 CrashLoopBackOff
状态。
以下是观察结果 -
1] 从主节点,无法连接到任何
SVC_IP:PORT
。我遇到了 TIMEOUT
问题。
这之前可以工作,并且正在不同的集群上工作,其中升级尚未完成。
2] 在
kube-proxy
日志中,我看到以下错误。
I1122 14:29:39.9331 1 proxier.go:655] "Failed to load kernel module with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules" moduleName="nf_conntrack_ipv4"
有时会出现以下错误。
3]
E1122 14:54:11.9246 1 proxier.go:1529] "Failed to execute iptables-restore" err="exit status 4 (iptables-restore v1.8.5 (nf_tables): \nline 657: CHAIN_USER_DEL failed (Device or resource busy): chain KUBE-SVC-UMV3KTOIFNFELO5E\nline 657: CHAIN_USER_DEL failed (Device or resource busy): chain KUBE-SEP-VRO2R645NJPETMB6\nline 657: CHAIN_USER_DEL failed (Device or resource busy): chain KUBE-SEP-TDA5RKUI34ML2QGB\nline 657: CHAIN_USER_DEL failed (Device or resource busy): chain KUBE-SVC-4C5W7IK5CBK4B7LK\n)"
I1122 14:54:11.9210 1 proxier.go:847] "Sync failed" retryingTime="30s"
同样,这在其他尚未升级的集群中不存在。
4] 还有一个观察结果是,
无法远程登录到其他节点上运行的 pod。
它连接到同一节点上的 pod,但不连接到其他节点上运行的 pod。
在我搜索到这个问题后,看起来这与负责在集群内建立通信的
kube-proxy
或flannel
有关。
Other details
-
k8s version - `1.22.13`
flannel - 0.14.0-rc1
Previous RHEL 7 version - RHEL 7.9
Current RHEL 8 version - RHEL 8.9
有人遇到过类似的问题吗?如果是的话,您能分享一下您的经验吗?
谢谢,
尝试重启k8s节点,
已安装
iptable_nat
,nf_conntrack
。
您还可以检查 RHEL8 上的防火墙状态。可能是更新后服务自动启动了:
systemctl status firewalld
尝试阻止它并玩耍:
systemctl stop firewalld