pod의 status가 pending 상태일 때, pending인 이유를 찾으세요
나의 답안 )
kubectl describe po <Pod>를 했을 때 정보가 출력되었지만 pending인 이유까지 유추하지 못함
Solution )
kubectl describe po <Pod>를 했을 때
Node 필드가 <none>임. 이로 미루어보아 스케쥴러가 적합한 노드에 파드를 스케쥴링하지 못함
kubectl get po -n=kube-system
출력된 kube-system 네임스페이스의 파드 중, 스케쥴러가 없는것을 확인함
즉, pending이 되는 이유는 스케쥴러가 없기때문이다.
nginx Pod를 node01에 스케쥴링 하세요
나의 답안 )
nginx Pod Manifest에서 spec.nodeName 필드 추가, nodeName: node01 명시
#nginx파드 삭제
kubectl delete po nginx
#새로운 Manifest 적용
kubectl apply -f nginx.yaml
Solution )
nginx Pod Manifest에서 spec.nodeName 필드 추가, nodeName: node01 명시
# force 옵션을 사용해서 Manifest 적용
## force 옵션을 사용했을 때, 자동으로 nginx 파드가 삭제되고 새로운 Manifest가 적용된 nginx 파드가 생성된다
kubectl replace --force -f nginx.yaml
Optional )
# nginx 파드의 상태를 지속적으로 확인하고 싶다면 watch 옵션을 사용하면 된다
# nginx 파드의 상태에 변화가 생기면 상태를 업데이트 해줌
kubectl get po nginx --watch
'DevOps' 카테고리의 다른 글
CKA 예제 리마인더 - 7. Taints and Tolerations (0) | 2024.10.28 |
---|---|
CKA 예제 리마인더 - 6. Labels and Selectors (0) | 2024.10.28 |
CKA 예제 리마인더 - 4. Imperative Commands (0) | 2024.10.27 |
CKA 예제 리마인더 - 3. NameSpace (0) | 2024.10.26 |
Kubernetes - Service ( spec.type ) (0) | 2024.10.26 |