반응형
-
쿠버네티스 master node "NotReady" 해결 방법 (coredns pending)
쿠버네티스를 설치하고나서 보니 마스터노드의 NotReady 가 발생 하였는데, get pods로 확인해보니 coredns가 Pending 상태임을 확인 하였습니다.
보통 노드와의 통신이 안되거나 CNI 설치가 되어있지 않은 경우에 coredns pending이 발생하기 때문에, CNI를 설치해주시거나 아래 방법으로 kube-flannel.yml을 적용시켜 해결하는 방법이 있습니다.
- 1) kube-flannel.yml 적용
- kubectl edit cm coredns -n kube-system를 입력하여 24라인의 loop 부분을 주석 처리
- 아래 명령 입력
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
- 잠시 대기해주면 아래와 같이 kube-flannel-ds-8gggx가 PodInitializing 되고나서 coredns도 Running되며 master node의 NotReady도 해결이 되는것을 확인할 수 있습니다.
- 2) CNI (calico) 설치
curl https://docs.projectcalico.org/archive/v3.8/manifests/calico.yaml -O
이후 vim 편집기를 이용해 calico.yml 파일을 열은 후 아래 라인을 주석해제하고 8번에서 진행한 Pod CIDE로 수정을 해주시면 됩니다.
calico.yaml 파일을 배포 해주세요.
kubectl apply -f calico.yaml
이후 아래 명령을 통해 calico가 정상적으로 실행중인지 확인할 수 있습니다.
* coredns CrashLoopBackOff 발생 시 참고 : nirsa.tistory.com/293
watch kubectl get pods --all-namespaces
반응형