问题
I install kubernetes v1.11.5 from kubeadm with cni plugin flannel and everything is ok. But I after try to switch to calico I found that the cross machine pod communication is broken. So I switch back to flannel. But got error message when creating pod:
It seems that I need to reset cni network? But I don't know how to solve this problem.
My flannel and calico installation is follow kubeadm instruction with zero config update.
回答1:
I use following steps to remove old calico configs from kubernetes without kubeadm reset
:
- clear ip route:
ip route flush proto bird
- remove all calico links in all nodes
ip link list | grep cali | awk '{print $2}' | cut -c 1-15 | xargs -I {} ip link delete {}
- remove ipip module
modprobe -r ipip
- remove calico configs
rm /etc/cni/net.d/10-calico.conflist && rm /etc/cni/net.d/calico-kubeconfig
- restart kubelet
service kubelet restart
After those steps all the running pods won't be connect, then I have to delete all the pods, then all the pods works. This has litter influence if you are using replicaset
.
来源:https://stackoverflow.com/questions/53900779/pods-failed-to-start-after-switch-cni-plugin-from-flannel-to-calico-and-then-fla