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

34 lines
828 B
Markdown

# 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/