Skip to main content
RunBook Academy

← All checklists in Kubernetes

As neededkubernetes-node-maintenance

Node Maintenance Checklist

12 items ·11 critical ·1 warn ·0 info

How to use this checklist

For taking a single node out of service and putting it back. The drain is the dangerous half; the uncordon is the half people forget.

Mark an item N/A when it genuinely does not apply, and write down why. An unexplained N/A is the most common way a checklist stops working.

Sign-off

Every critical item must pass. A failing critical item blocks the deployment or the maintenance window; it is not a note for later. Record the date, the reviewer, and the disposition of every item that did not pass.

Critical11 items

  1. kubectl describe nodes | grep -A5 "Allocated resources"
  2. kubectl get pdb -A
  3. kubectl get pods --field-selector spec.nodeName=<node> -o wide
  4. kubectl cordon <node>
  5. kubectl drain <node> --ignore-daemonsets --delete-emptydir-data --timeout=600s
  6. kubectl get pods --field-selector spec.nodeName=<node> -o wide
  7. kubectl get node <node> -o wide
  8. kubectl uncordon <node>
  9. kubectl get nodes -o json | jq -r '.items[] | select(.spec.unschedulable==true) | .metadata.name'

Warning1 item

  1. kubectl get pods -A -o wide | awk '{print $8}' | sort | uniq -c