쿠버네티스 구축을하면서 짜증나는 부분 중 하나가 네트워크인데,
이 네트워크 부분이 꼬이면 정말 힘들어진다.
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번을 모든 노드에대해 전부 해줘야한다.
그리고 다시 재설치를 해보자!
'공부 > Kubernetes' 카테고리의 다른 글
Mount multiple files with one configmap (0) | 2021.06.24 |
---|---|
operator-sdk로 k8s 기본 리소스 컨트롤러 추가하기 (0) | 2021.06.08 |
Kubernetes Secret은 정말 Secret일까? (2) | 2021.03.25 |
컨테이너와 파드의 리눅스 네임스페이스 (0) | 2021.03.21 |
Kubernetes namespace가 terminating에 멈춰서 안 지워질 때 (1) | 2021.03.13 |