Skip to content

Latest commit

 

History

History

node_not_ready

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

개요

실습환경 구축

실습

예제 배포

  • httpbin pod, service 배포
kubectl apply -f ./manifests/httpbin

pod tolerationSeconds 확인

$ kubectl get pod -oyaml | grep tolerations -A8
    tolerations:
    - effect: NoExecute
      key: node.kubernetes.io/not-ready
      operator: Exists
      tolerationSeconds: 300
    - effect: NoExecute
      key: node.kubernetes.io/unreachable
      operator: Exists
      tolerationSeconds: 300

node taint 확인

$ kubectl describe node node-not-ready-worker | grep -i "Taints:" -A 4
Taints:             <none>

node를 not ready로 변경

docker network disconnect kind node-not-ready-worker

node not ready 확인

$ kubectl get node node-not-ready-worker
NAME                           STATUS     ROLES           AGE   VERSION
node-not-ready-worker          NotReady   <none>          34m   v1.30.4

node taint 확인

kubectl describe node node-not-ready-worker | grep -i "Taints:" -A 4
Taints:             node.kubernetes.io/unreachable:NoExecute
                    node.kubernetes.io/unreachable:NoSchedule

pod 상태 확인

kubectl get pod

eviction pod 상태 확인

  • DisruptionTarget 상태가 True
$ kubectl get pod {eviction된 pod} -oyaml
- lastProbeTime: null
    lastTransitionTime: "2025-02-08T17:11:23Z"
    message: 'Taint manager: deleting due to NoExecute taint'
    reason: DeletionByTaintManager
    status: "True"
    type: DisruptionTarget

kubernetes events 확인

kubectl get events --sort-by='.lastTimestamp' -o custom-columns="LAST_TIMESTAMP:.lastTimestamp,NAME:.metadata.name,REASON:.reason,MESSAGE:.message"

controller manager pod log 확인

kubectl -n kube-system logs -f -l component=kube-controller-manager

참고자료