공부/Kubernetes
calico 완전 삭제 후 재설치
토고미
2021. 5. 22. 14:55
쿠버네티스 구축을하면서 짜증나는 부분 중 하나가 네트워크인데,
이 네트워크 부분이 꼬이면 정말 힘들어진다.
yaml파일을 이용해 설치/삭제 할때 단순히
kubectl apply -f 파일이름
kubectl delete -f 파일이름
을 이용하곤 하는데,
calico같이 실제 노드에 파일을 생성하거나 iptable을 수정하는 모듈은
kubectl delete -f 만으로는 부족하다.
관련된 파일과 iptables 룰 및 tunl0 인터페이스 등을 삭제해줘야한다.
1. 관련된 파일 삭제
calico가 어떤 파일들을 참조하는지 먼저 확인하자.
설치 yaml을 확인해도 상관없다. 난 오류가 발생한 상태의 pod를 describe했다.
$ kubectl describe pod {칼리코 POD} -n kube-system
그럼 아래와 같이 나온다
삭제하면 안되는 중요한 폴더를 제외하고
cni관련 폴더를 전부 삭제해줘야한다.
$ rm -rf /var/run/calico/
$ rm -rf /var/lib/calico/
$ rm -rf /etc/cni/net.d/
$ rm -rf /var/lib/cni/
2. iptables 룰 및 tunl0 인터페이스 삭제
그냥 재부팅하면 된다.
$ reboot
위 1,2번을 모든 노드에대해 전부 해줘야한다.
그리고 다시 재설치를 해보자!