calico/node is not ready: BIRD is not ready: BGP not established with

김건호·2022년 12월 28일
0

Error 상황

  kubelet, Readiness probe failed: calico/node is not ready: 
  BIRD is not ready: BGP not established with 192.168.**,192.168.**2022-12-28 07:31:11.283 
  [INFO][151] health.go 156: Number of node(s) with BGP peering established = 0
  
  kubelet,  Readiness probe failed: calico/node is not ready: 
  BIRD is not ready: BGP not established with 192.168.**,192.**.182022-12-28 07:31:21.284 
  [INFO][202] health.go 156: Number of node(s) with BGP peering established = 0

Error 원인

calico-nodenic가 두 개일 때 어떤 인터페이스를 찾아가야 할 지 몰라서 생기는 에러

제 환경 같은 경우에서는 ens192 인터페이스의 ip로 지정되어야 하는데
10번대 ip를 가진 cni0 인터페이스로 calico-node가 선택을 해 192번대 ip와 BGP가 불가능하였다.

[root@master1 1.yaml]# nmcli con
NAME    UUID                                  TYPE      DEVICE
ens192  46c5f189-5de9-49d0-8bc2-ddd25e8fc7cd  ethernet  ens192
cni0    f82006c2-fce2-4b44-a057-cb68a9c35c4f  bridge    cni0

해결 방법

calico version3.13.* 버전이라 cidr 을 통한 ~ 는 불가능하여 cni 인터페이스를 참조하지 않도록 calico-nodedaemonset env 를 수정하여서 해결하였습니다.

Excluding matching interfaces

kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=skip-interface=cni*

아래의 Including matching interfaces와 같이 인터페이스명을 직접 지정하는 방법도 가능하지만

[root@test2 ~]# nmcli con
NAME    UUID                                  TYPE      DEVICE
ens6f1  f1bad97f-8e01-45f8-9213-d9e8293b2a7b  ethernet  ens6f1
eno1    8ff64e8e-874a-4311-8ac5-452e6e06517d  ethernet  --
eno2    ddf1bafa-43b0-4083-a9c0-4a0841af85fb  ethernet  --
ens6f0  7a59569d-c290-4a71-a623-a3f52148f907  ethernet  --

한 노드에서 master1와 인터페이스 이름이 다르고 ens로 시작하는 인터페이스가 두 개라 *과 같은 정규식으로 인터페이스를 특정지을 수 없어 cni 인터페이스를 참조하지 않는 방식으로 해결

이외의 해결 방법

Including matching interfaces

아래 명령어는 calico-node가 eth.* 형식의 인터페이스를 참조하도록 합니다.

kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=skip-interface=eth.*

Including CIDRs

kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=cidr=192.168.200.0/24,172.15.0.0/24

참고문서
[projectcalico.docs.tigera.io/networking/ip-autodetection]

profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽

0개의 댓글