Securely shutdown a node from kubernetes cluster
Always drain the node before removing it:
kubectl drain $NODE
Draining evicts every pod in the node and cordons it, so no new pods will be scheduled in it.
You can use these parameters to 'force' draining, overriding some restrictions:
kubectl drain $NODE --force=true --delete-local-data=true --ignore-daemonsets=true
Find further info here:
https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/