Search code examples
dockerkubernetescontainerskubectl

Which is best strategy of reboot of Linux node in kubernetes cluster


a) Plain reboot command. or b) Execute kubectl drain and then reboot.


Solution

  • Definitely option-2 using kubectl drain approach.

    Before reboot:

    kubectl drain $NODENAME will gracefully terminate all pods on the node while marking the node as unschedulable.

    After reboot:

    Once the reboot is done and its good to go then make the node schedulable again: kubectl uncordon $NODENAME.

    Please go through this documentation.

    Directly running plain reboot on node, will affect all the pods running on that node so don't recommends that approach.