一、问题发现
1.执行kubectl get pod -o wide -n kube-system,发现有一个节点的calico-node没有出入READY状态,如下:
calico pod
2.执行kubectl describe pod calico-node-xvj55 -n kube-system,发现有如下报错:
error info
3.执行kubectl exec -ti calico-node-xvj55 -n kube-system -- bash,进入calico-node,打开bird配置文件,发现router id为10.244.3.1,此IP是cni0网桥地址,正常应该是eth0网卡地址:10.1.209.160,如下:
bird config
flannel&cni0
4.在master执行calicoctl node status
calico 状态
综上所述,基本可以确定是节点的calico的BGP网卡设备识别错误导致。
二、解决
1.执行如下命令
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni/
rm -f /etc/cni/net.d/*
2.修改calico.yaml
- name: IP_AUTODETECTION_METHOD
value: "interface=ens*"
网友评论