And Brain said,

가상머신 사용 시 Calico CNI IP 자동감지 인터페이스 변경 본문

IT/Kubernetes

가상머신 사용 시 Calico CNI IP 자동감지 인터페이스 변경

The Man 2023. 9. 13. 17:25
반응형

K8s 클러스터에 CNI를 Calico Plugin으로 설정한 후 뭔가 이상한 낌새를 느껴 calico-node의 상태를 확인했더니 아니나 다를까 Ready 상태가 아니었다.

 

calico/node is not ready: BIRD is not ready: BGP not established with 10.0.4.15 W0913 06:27:13.218355 380 feature_gate.go:241] Setting GA feature gate ServiceInternalTrafficPolicy=true. It will be removed in a future release. Warning Unhealthy 33s kubelet Readiness probe failed: 2023-09-13 06:27:23.272 [INFO][410] confd/health.go 180: Number of node(s) with BGP peering established = 0

 

Calico는 기본적으로 호스트의 인터페이스를 감지하여 IP를 설정하는데, 이 때문에 가상머신의 NAT 네트워크 주소를 자동 감지하게 된 것이었다.  우리는 Calico가 각 노드의 내부 IP를 감지할 수 있도록 바꿔줘야합니다.

 

먼저, Calico 의 yaml파일을 다운로드 받아 직접 수정해보도록 합시다.

wget https://docs.projectcalico.org/manifests/calico.yaml

 

텍스트 편집기를 통해 yaml 파일을 열어보시면,

- name: IP
  value: "autodetect"
// 아래를 추가
- name: IP_AUTODETECTION_METHOD
  value: "interface=enp0s8"

- name: IP
  value: "autodetect"

 

이런 부분이 있을 겁니다. 여기 아래에 ifconfig를 통해 추가할 네트워크 인터페이스를 확인하시고,

가상머신의 내부망 Interface

 

- name: IP_AUTODETECTION_METHOD
  value: "interface=enp0s8"

 

이렇게 추가해준 뒤, kubectl apply -f calico.yaml 로 적용합니다.

 

kubectl delete pods -n kube-system -l k8s-app=calico-node

이제 calico-node pods를 재시작하면,

 

 

정상적으로 READY 상태가 되었음을 확인할 수 있습니다.

 

Thanks for watching, Have a nice day.

반응형
Comments