Master node에 Pod 배포하기
2025. 2. 21. 22:38ㆍk8s
label과 taint를 확인해야 함
# hello world pod 생성
kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.39 -- /agnhost netexec --http-port=8080
kubectl get pod
# pod가 pending 상태임
NAME READY STATUS RESTARTS AGE
hello-node-ccf4b9788-lm949 0/1 Pending 0 17m
# 확인
kubectl describe pod/hello-node-ccf4b9788-lm949
# 배포할 node가 없어서 스케쥴링이 안됨
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 3m34s (x4 over 18m) default-scheduler 0/1 nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }. preemption: 0/1 nodes are available: 1 Preemption is not helpful for scheduling..
kubectl get node
kubectl describe node/{node}
# 해당 node의 label과 관련해서 NoSchedule이라고 설정되어 있음
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
kubernetes.io/arch=amd64
kubernetes.io/hostname=barisein-thinkpad-x220
kubernetes.io/os=linux
node-role.kubernetes.io/control-plane=
node.kubernetes.io/exclude-from-external-load-balancers=
Taints: node-role.kubernetes.io/control-plane:NoSchedule
# node에 배포될 수 있도록 설정: 마지막에 '-'을 넣으면 제거됨
kubectl taint node {node} node-role.kubernetes.io/control-plane:NoSchedule-
# 확인
kubectl get pod
NAME READY STATUS RESTARTS AGE
hello-node-ccf4b9788-lm949 1/1 Running 0 25m
'k8s' 카테고리의 다른 글
Worker node가 NotReady인 경우 (0) | 2025.02.22 |
---|---|
Worker node 생성 (0) | 2025.02.22 |
Ubuntu에 k8s 설치하기 (0) | 2025.02.21 |
Node status가 NotReady 인경우 (0) | 2025.02.20 |
error: error loading config file "/etc/kubernetes/admin.conf": open /etc/kubernetes/admin.conf: permission denied (0) | 2025.02.20 |