报错calico/node is not ready: BIRD is not ready: BGP not established with 172.16.0.20,172.16.0.30
\\calico未准备好,BGP协议不能与172.16.0.20,172.16.0.30内网IP地址连接
BGP协议:边界网关协议
Accessing the dashboard interface of k8s cannot access the website, view the pod, and unknown reasons cause the pod resources of calico to fail to start after being recreated, and the status is displayed as 0/1
[root@k8s-master yaml]# kubectl get pod -n kube-system NAMESPACE NAME READY STATUS RESTARTS AGE ... kube-system calico-kube-controllers-578894d4cd-rsgqd 1/1 Running 0 115d kube-system calico-node-64s8s 1/1 Running 3 127d kube-system calico-node-j4t7q 1/1 Running 0 127d kube-system calico-node-n6vr4 0/1 Running 0 40s
Calico Pod error content
[root@k8s-master yaml]# kubectl describe pod -n kube-system calico-node-n6vr4
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled <unknown> default-scheduler Successfully assigned kube-system/calico-node-n6vr4 to k8s-master
Normal Pulled 41s kubelet, k8s-master Container image "calico/cni:v3.15.1" already present on machine
Normal Created 41s kubelet, k8s-master Created container upgrade-ipam
Normal Started 40s kubelet, k8s-master Started container upgrade-ipam
Normal Pulled 40s kubelet, k8s-master Container image "calico/cni:v3.15.1" already present on machine
Normal Started 39s kubelet, k8s-master Started container install-cni
Normal Created 39s kubelet, k8s-master Created container install-cni
Normal Pulled 39s kubelet, k8s-master Container image "calico/pod2daemon-flexvol:v3.15.1" already present on machine
Normal Pulled 38s kubelet, k8s-master Container image "calico/node:v3.15.1" already present on machine
Normal Started 38s kubelet, k8s-master Started container flexvol-driver
Normal Created 38s kubelet, k8s-master Created container flexvol-driver
Normal Created 37s kubelet, k8s-master Created container calico-node
Normal Started 37s kubelet, k8s-master Started container calico-node
Warning Unhealthy 27s kubelet, k8s-master Readiness probe failed: 2020-08-14 02:16:54.068 [INFO][142] confd/health.go 180: Number of node(s) with BGP peering established = 0
calico/node is not ready: BIRD is not ready: BGP not established with 172.16.0.20,172.16.0.30
Warning Unhealthy 17s kubelet, k8s-master Readiness probe failed: 2020-08-14 02:17:04.059 [INFO][181] confd/health.go 180: Number of node(s) with BGP peering established = 0
calico/node is not ready: BIRD is not ready: BGP not established with 172.16.0.20,172.16.0.30
Warning Unhealthy 7s kubelet, k8s-master Readiness probe failed: 2020-08-14 02:17:14.065 [INFO][207] confd/health.go 180: Number of node(s) with BGP peering established = 0
calico/node is not ready: BIRD is not ready: BGP not established with 172.16.0.20,172.16.0.30
Reason: calico did not find the actual network card name of the real node node
Solution
Adjust the network card discovery mechanism of calicao's network plug-in, and modify IP_AUTODETECTION_METHOD
the corresponding value. In the downloaded official yaml file, the ip identification strategy (IPDETECTMETHOD)
is not configured, that is, the default is first-found
, which will cause an abnormal ip in the network to be registered as nodeIP, thus affecting the network connection between nodes. It can be modified to the strategy of can-reach
or interface
, try to connect to the IP of a Ready node, so as to select the correct IP.
# 修改calicao的yaml文件,添加两行配置
# - name: IP_AUTODETECTION_METHOD
# value: "interface=eth1" # 根据实际网卡名称配置
[root@k8s-master yaml]# vim calico.yaml
...(3546行)
# Cluster type to identify the deployment type
- name: CLUSTER_TYPE
value: "k8s,bgp"
#新添加的配置
- name: IP_AUTODETECTION_METHOD
value: "interface=eth1"
# Auto-detect the BGP IP address.
- name: IP
value: "autodetect"
# Enable IPIP
- name: CALICO_IPV4POOL_IPIP
value: "Always"
# Enable or Disable VXLAN on the default IP pool.
- name: CALICO_IPV4POOL_VXLAN
value: "Never"
#重新构建
kubectl apply -f calico.yaml
repair completed
[root@k8s-master yaml]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-578894d4cd-rsgqd 1/1 Running 0 115d
calico-node-6ktn4 1/1 Running 0 26m
calico-node-8k5z8 1/1 Running 0 26m
calico-node-g87hc 1/1 Running 0 1m
Access to various resources of the cluster can be accessed again