k8s 新增节点后, 出现 创建pod 错误。(重启 calico 后, 一晚上后就恢复了。)
我上午新增的节点,下午创建服务就出问题。
cni的作用就像树的树叉,pod就是叶子,如果他出现了问题那么新创建的pod就会因为它而无法分配连接点导致错误挂不上网络。以有的calico会同步的,别的节点依然能通过网络顺利访问异常节点的pod
Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container
大概率cni服务不可用力 重启一下就完了
如何重启cni
用admin 登录, 找到 工作负载-》 搜索 calico
devops 依然有问题:
我的建议是停止调度,驱逐pod,然后重启云主机,让calico彻底刷新一次看看
如何停止调度呢?
error killing pod: failed to "KillPodSandbox" for "10c10984-2cce-4415-b58a-c71380af0bbc" with KillPodSandboxError: "rpc error: code = Unknown desc = networkPlugin cni failed to teardown pod \"devops-28366650-mnzlp_kubesphere-devops-system\" network: Get \"https://10.233.0.1:443/apis/crd.projectcalico.org/v1/ipamhandles/k8s-pod-network.436836bd0c6ca83c3294935108768366567d749b2e23ab821814f85586477f06\": dial tcp 10.233.0.1:443: i/o timeout"
admin 》主页》侧边栏》节点》集群节点》具体的节点》
然后去看当前节点的pod有没有都被踢出去
calico 有 污点容忍, 踢不走, 无所谓了。
业务容器和其他的容器被踢走就行
如果都没问题了,那么就去那个节点上重启云主机吧
在work3节点
先停止kubelet,再删掉所有pod
systemctl stop kubelet
docker rm -f `docker ps -qa`
这个时候calico就会重新初始化网络之类的,或许能解决问题
kubelet会开启自动启动的
问题依然没解决
/etc/cni/net.d
/var/log/calico/cni/cni.log
看日志
2023-12-08 11:25:15.427 [ERROR][28707] ipam_plugin.go 425: Failed to release address ContainerID="597adefc5a8fe9ab202bfa666268368bc7c3a32bb073136e070ed34052c9d6a8" HandleID="k8s-pod-network.597adefc5a8fe9ab202bfa666268368bc7c3a32bb073136e070ed34052c9d6a8" Workload="worker3-k8s-restic--x88nm-eth0" error=Get "https://10.233.0.1:443/apis/crd.projectcalico.org/v1/ipamhandles/k8s-pod-network.597adefc5a8fe9ab202bfa666268368bc7c3a32bb073136e070ed34052c9d6a8": dial tcp 10.233.0.1:443: i/o timeout
2023-12-08 11:25:15.428 [ERROR][28694] utils.go 253: Get "https://10.233.0.1:443/apis/crd.projectcalico.org/v1/ipamhandles/k8s-pod-network.597adefc5a8fe9ab202bfa666268368bc7c3a32bb073136e070ed34052c9d6a8": dial tcp 10.233.0.1:443: i/o timeout ContainerID="597adefc5a8fe9ab202bfa666268368bc7c3a32bb073136e070ed34052c9d6a8"
2023-12-08 11:25:15.429 [ERROR][28694] plugin.go 577: Final result of CNI DEL was an error. error=Get "https://10.233.0.1:443/apis/crd.projectcalico.org/v1/ipamhandles/k8s-pod-network.597adefc5a8fe9ab202bfa666268368bc7c3a32bb073136e070ed34052c9d6a8": dial tcp 10.233.0.1:443: i/o timeout
/etc/cni/net.d/calico-kubeconfig
问题解决:
把/etc/cni/net.d/calico-kubeconfig 文件 从 别的正常的节点 复制到 到有问题的节点
但是还是有问题的,
只能更换一个节点,测试一下,
又新加了一个 worker4 ,发现没有出问题。 2023年12月8日
这真是奇葩的问题。
可能是 跟这个免费安全加固 有关 , work4 是没有加的, worker3(出问题的) 应该是默认勾选的。 worker2,worker1 我记得是没有勾选的。
欢迎来撩 : 汇总all