[k8s] control plain 노드에 pod 띄우기
만약 kubeadm으로 싱글 클러스터를 띄우고, 바로 pod를 띄우려 시도한다면 다음과 같이 무한 대기 상태에 빠질 확률이 매우 높다.
초보자가 접한다면 당황스러울 수 있는 상황이다. k8s는 초보자에게 친절한 시스템이 아니다.
이것은 control plain의 기본 taint 설정과 연관이 있다. 기본 설정이 이런 이유는, control plain은 관리만을 전담하고 실제 pod를 띄우는건 worker들로 한정하는 것을 관리상 권장하기 때문이다.
그래서 descibe node로 노드 정보를 까보면
이런 식으로 "NoSchdule"이 박혀있는걸 볼 수 있다.
이게 문제다.
아래 명령을 사용해서 제거해주면 그때부터는 pod 생성이 가능해질 것이다. 싱글 노드로 간단하게 사용하는 경우라면 그냥 풀고 쓰면 된다.
kubectl taint nodes --all node-role.kubernetes.io/control-plane:NoSchedule-
# 혹은
kubectl taint nodes 노드명 node-role.kubernetes.io/control-plane:NoSchedule-

그럼 이제 된다.

Taint에 대해서 알고 싶다면 별도 포스트를 참조한다.
https://blog.naver.com/sssang97/223645592718