Cluster 의 Interface 가 여러개인 경우 Calico 적용 방법

작성자 이경미 수정일 2023-02-24 15:57

들어가며

  • 예시로, BM 과 VM 은 interface 가 다릅니다. 따라서 Calico 에서 interface 를 설정할 때, 모두 읽고 작동할 수 있게 설정하는 작업이 필요합니다.



내용


예시. VM interface : ens  /  BM interface : bond


우선 사용하는 서버가 어떤 interface card 를 사용하는지 확인해야 합니다.

각 서버에서 다음 경로의 파일을 확인합니다. 

ls -al /etc/sysconfig/network-scripts/
...
-rw-r--r--. 1 root root   406 Nov 28 16:54 ifcfg-ens192
...

사용되는 interface card 는 ifcfg-XXX 로 시작하는 파일입니다. 

해당 서버는 ens 를 사용 중인 것으로 확인할 수 있습니다. 


모든 서버의 interface card 를 확인했다면 Calico 의 interface 통신 구간을 확인합니다. 

이는 Calico 를 생성하는 yaml 파일에서 수정이 이루어집니다. 

cd /<SETUP ROOT>/etc/
vi calico-v3.19-spsd.yaml


- calico-v3.19-spsd.yaml 수정 부분 (interface= 을 검색하여 쉽고 빠르게 수정구역을 찾을 수 있습니다. )

            - name: IP_AUTODETECTION_METHOD
              value: "interface=ens.*, bond.*"

수정된 calico 의 정보를 적용합니다. 

kuebctl delete -f calico-v3.19-spsd.yaml

# 기존 Calico 가 내려간 것을 확인합니다. 
kubectl get po -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-6c8f7d75bc-hjznb   1/1     Terminating   1          87d
calico-node-l269v                          1/1     Terminating   0          81d
calico-node-xkv6n                          1/1     Terminating   1          87d

# Calico pod 가 모두 내려간 것을 확인 후 수정한 yaml 파일을 적용합니다. 
kuebctl apply -f calico-v3.19-spsd.yaml

# 수정한 Calico 가 정상적으로 생성되었는지 확인합니다. 
kubectl get po -n kube-system
NAME                                       READY   STATUS    RESTARTS   AGE
calico-kube-controllers-6c8f7d75bc-hjznb   1/1     Running   0          57s
calico-node-l269v                          1/1     Running   0          57s
calico-node-xkv6n                          1/1     Running   0          57s


calico log 를 확인하여 interface error 가 발생하지 않았는지 확인해주는 작업이 필수입니다. 

kubectl logs -f calico-node-<UUID>


아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300