IabSDocker7天前更新关注私信 早上省社消平台反馈无法登录,登录堡垒机后看到部分副本一直在重启,并且这些节点都处于同一节点 查看这几个pod日志之后发现这些pod都无法解析注册中心地址 我想是不是coredns故障导致无法解析,但发现其他子系统都可以解析注册中心地址,那这应该就和coredns无关了,这时我在控制节点请求了注册中心地址发现是正常的,并且再其他节点去请求都是正常的,但是唯独在spt-kubernetes-vice节点去请求注册中心地址超时。 这样看来故障点就比较明显了,应该是CNI插件或者是kube-proxy有问题,再查看日志时发现该spt-kubernetes-vice节点的两个组件都无日志输出,再重启相关组件后发现kube-proxy日志正常,但是flannel组件日志有报错: ERROR: logging before flag.Parse: E0710 02:04:00.363241 1 iptables.go:120] Failed to ensure iptables rules: Error checking rule existence: failed to check rule existence: running [/sbin/iptables -t filter -C FORWARD -d 10.244.0.0/16 -j ACCEPT –wait]: exit status -1: 查看相关资料后发现好像与iptables-backend有关,iptables-backend现在有两种版本iptables-legacy和iptables-nft。 iptables-nft使用新的nftables内核框架,是未来主流方案也是netfilter社区主推的方案; iptables-legacy使用老的 xtables 内核子系统,现在逐步被弃用; 查看默认iptables-backend发现为nftables,因为我的flannel版本比较低,所以对iptables-nft支持较差,所以使用update-alternatives --config iptables命令更改默认iptables-backend为xtables 修改并重启对应节点flannel后查看日志,发现现在启动不报错也可以正常创建iptables规则 最后强制重启对应节点pod或者等待pod自动重启(推荐自动重启) © 版权声明文章版权归作者所有,未经允许请勿转载。THE ENDDockerKubernetes云原生# kubernetes 喜欢就支持一下吧点赞7赞赏 分享QQ空间微博QQ好友海报分享复制链接收藏