<p>a) Plain reboot command.
or
b) Execute kubectl drain and then reboot.</p>

<p>Definitely option-2 using <code>kubectl drain</code> approach.</p>
<p><em>Before reboot:</em></p>
<p><code>kubectl drain $NODENAME</code> will gracefully terminate all pods on the node while marking the node as unschedulable.</p>
<p><em>After reboot:</em></p>
<p>Once the reboot is done and its good to go then make the node schedulable again: <code>kubectl uncordon $NODENAME</code>.</p>
<p>Please go through <a href="https://kubernetes.io/docs/tasks/administer-cluster/cluster-management/#maintenance-on-a-node" rel="nofollow noreferrer">this</a> documentation.</p>
<p>Directly running plain reboot on node, will affect all the pods running on that node so don't recommends that approach.</p>
