从Kubernetes
控制台启动工作节点VM(AWS
)之后,出现此错误。我正在使用PKS
(Pivotal Container Service
)
pod“ xxxxx”的网络:NetworkPlugin cni无法设置Pod“ xxxxx”网络:无法设置网桥地址:“ cni0”的IP地址已不同于10.x.x.x / xx
我假设Flannel
为群集中的工作人员分配了子网租约,租约在24小时后到期-并且flannel.1
和cni0 /24
子网不再匹配,这会导致此问题。
我也知道一种解决方法:
bosh ssh -d worker -c "sudo /var/vcap/bosh/bin/monit stop flanneld"
bosh ssh -d worker -c "sudo rm /var/vcap/store/docker/docker/network/files/local-kv.db"
bosh ssh -d worker -c "sudo /var/vcap/bosh/bin/monit restart all"
但是对此有永久的解决办法吗?
答案 0 :(得分:1)
$ ip link set cni0 down
$ brctl delbr cni0
还有一些解决方案。
filipenv的解决方案是:
在主服务器和从服务器上:
$ kubeadm reset $ systemctl stop kubelet $ systemctl stop docker $ rm -rf /var/lib/cni/ $ rm -rf /var/lib/kubelet/* $ rm -rf /etc/cni/ $ ifconfig cni0 down $ ifconfig flannel.1 down $ ifconfig docker0 down
您可能需要从
umount
手动/var/lib/kubelet
文件系统,然后在该目录上调用rm) 完成之后,我启动了docker并再次返回kubelet,然后重新启动kubeadm进程
aysark:和kubernetes-handbook在Pod stuck in Waiting or ContainerCreating
的食谱中都推荐
$ ip link set cni0 down
$ brctl delbr cni0
在Flannel
的知识库中有一篇文章:PKS Flannel network gets out of sync with docker bridge network (cni0)
WA1和您一样:
bosh ssh -d <deployment_name> worker -c "sudo /var/vcap/bosh/bin/monit stop flanneld"
bosh ssh -d <deployment_name> worker -c "sudo rm /var/vcap/store/docker/docker/network/files/local-kv.db"
bosh ssh -d <deployment_name> worker -c "sudo /var/vcap/bosh/bin/monit restart all"
如果WA1没有帮助,KB建议:
bosh ssh -d <deployment_name> worker -c "sudo /var/vcap/bosh/bin/monit stop flanneld"
bosh ssh -d <> worker -c "ifconfig | grep -A 1 flannel"
On a master node get access to etcd using the following KB
On a master node run `etcdctlv2 ls /coreos.com/network/subnets/`
Remove all the worker subnet leases from etcd by running `etcdctlv2 rm /coreos.com/network/subnets/<worker_subnet>;` for each of the worker subnets from point 2 above.
bosh ssh -d <deployment_name> worker -c "sudo /var/vcap/bosh/bin/monit restart flanneld"