From ea15e19e809faa6f980c0651a2a23559b0154945 Mon Sep 17 00:00:00 2001 From: Michele Cereda Date: Sun, 15 May 2022 00:43:45 +0200 Subject: [PATCH] Added notes about k8s node draining to the knowledge base --- knowledge base/drain a k8s cluster node.md | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 knowledge base/drain a k8s cluster node.md diff --git a/knowledge base/drain a k8s cluster node.md b/knowledge base/drain a k8s cluster node.md new file mode 100644 index 0000000..f75b5ca --- /dev/null +++ b/knowledge base/drain a k8s cluster node.md @@ -0,0 +1,33 @@ +# Drain a K8S cluster node + +1. mark the node as unschedulable (_cordon_): + + ```sh + $ kubectl cordon kworker-rj2 + node/kworker-rj2 cordoned + ``` + +1. remove pods running on the node: + + ```sh + $ 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 + ``` + +1. do to the node what you need to do +1. make the node available again: + + ```sh + $ kubectl uncordon kworker-rj2 + node/kworker-rj2 uncordoned + ``` + +## Sources + +- [How to drain a node in Kubernetes] + +[how to drain a node in kubernetes]: https://linuxhandbook.com/kubectl-drain-node/