Files
oam/knowledge base/drain a k8s cluster node.md
2022-05-15 00:43:45 +02:00

828 B

Drain a K8S cluster node

  1. mark the node as unschedulable (cordon):

    $ kubectl cordon kworker-rj2
    node/kworker-rj2 cordoned
    
  2. remove pods running on the node:

    $ kubectl drain kworker-rj2 --grace-period=300 --ignore-daemonsets=true
    node/kworker-rj2 already cordoned
    WARNING: ignoring DaemonSet-managed Pods: kube-system/calico-node-fl8dl, kube-system/kube-proxy-95vdf
    evicting pod default/my-dep-557548758d-d2pmd
    pod/my-dep-557548758d-d2pmd evicted
    node/kworker-rj2 evicted
    
  3. do to the node what you need to do

  4. make the node available again:

    $ kubectl uncordon kworker-rj2
    node/kworker-rj2 uncordoned
    

Sources