cni calico 삭제 후 재설치

limes22·2024년 9월 15일

calico pod 비정상으로 인해 node NotReady 상태 확인

전제 조건

  • Kubernetes 클러스터가 정상적으로 구성되어 있고 kubectl 명령어를 사용할 수 있어야 함.
  • Calico가 현재 CNI 플러그인으로 설치되어 있어야 함.
  • 클러스터가 작동 중이고, 노드와 파드들이 Calico를 통해 네트워크 연결을 하고 있음.

1. Calico 설정 상태 확인

kubectl get pods -n kube-system -o wide

2. Calico CNI 삭제

2-1. Calico 리소스 삭제

kubectl delete -f <calico.yaml 파일 경로>

만약 설치한 calico.yaml 파일이 없다면, kubectl get 명령어로 설치된 리소스를 확인하고 삭제해야 함.

kubectl delete daemonset calico-node -n kube-system
kubectl delete deployment calico-kube-controllers -n kube-system
kubectl delete daemonset calico-typha -n kube-system
kubectl delete podsecuritypolicy calico-node

2-2.CNI 설정 파일 제거

  1. Calico의 네트워크 구성 파일 삭제:
rm -rf /var/run/calico/
rm -rf /var/lib/calico/
rm -rf /etc/cni/net.d/
rm -rf /var/lib/cni/
  1. kubelet 재시작 & 재부팅
sudo systemctl restart kubelet
reboot

3. calico 재설치

curl https://docs.projectcalico.org/manifests/calico.yaml -O
kubectl apply -f calico.yaml

4. 설치 확인

kubectl get pods -n kube-system
kubectl get nodes

5. 네트워크 테스트

kubectl run test-pod --image=busybox --restart=Never -- sleep 3600
kubectl exec -it test-pod -- ping <다른 파드 IP>
kubectl describe pod <test-pod 이름>
profile
GPU 인프라 / MLOps 엔지니어 오수진입니다. 쿠버네티스 기반 GPU 스케줄링(HAMi·KAI·Volcano)과 LLM 서빙 인프라를 다룹니다.

0개의 댓글