今天换了一个可用区购买阿里云 ecs 添加到 k8s 集群,然后发现无法部署 pod,pod 启动时会出现下面的错误
Warning FailedCreatePodSandBox 2m27s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "13befcb2acaa7c633d8b544f0768e44103dec3432ffcd1bd024809398f63b8da": plugin type="cilium-cni" name="cilium" failed (add): unable to connect to Cilium daemon: failed to create cilium agent client after 30.000000 seconds timeout: Get "http:///var/run/cilium/cilium.sock/v1/config": dial unix /var/run/cilium/cilium.sock: connect: no such file or directory
然后通过下面的命令发现是 cilium pod 无法启动
kubectl get pods -l k8s-app=cilium -n kube-system -o wide
cilium-zw2dx 0/1 CrashLoopBackOff 8 (35s ago)
对应的错误
Startup probe failed: Get "http://127.0.0.1:9876/healthz": dial tcp 127.0.0.1:9876: connect: connection refused
请问如何解决这个问题?
原来是这台服务器无法访问公网引起的,解决公网访问问题后就好了
k8s 节点的公网访问是通过阿里云公网NAT网关实现,今天购买的这台服务器所用的VPC交换机没有授权使用公网NAT网关