전공영역 공부 기록

calico-kube-controllers pod pending오류 해결

악분 2023. 2. 25. 23:08
반응형

오류

쿠버네티스 클러스터를 처음 설치하고 calico CNI를 설치한 과정에서, calico-kube-controllers pod가 pending상태로 있었습니다. kubectl describe pod로 확인하면 untolerated taint 메세지가 있었습니다.

 

원인

쿠버네티스 클러스터 설치 순서를 잘못해서 오류가 발생했습니다. 아래 순서대로 실행했어야 했는데, 1 -> 3 -> 2로 실행해서 오류가 발생했습니다.

1. kubeadm init

2. CNI 설치

3. worker node join

 

쿠버네티스 control plane node에는 pod가 스케쥴링 되지 않도록 taint가 설정되어 있습니다. 하지만, calico-kube-controllers pod는 contrl plane node에 설치되도록 tolerations이 설정되어 있었습니다.

 

worker node가 join되기 전에 control plane node는 taint가 설정되지 않으므로 calico-kube-controllers pod가 스케쥴링 될 수 있습니다. 

 

해결

worker node를 전부 삭제하고 calico를 설치하여 문제를 해결했습니다. calico설치가 끝나고 worker node를 join시켰습니다. 

반응형