Perform a graceful reboot of a cluster¶
Available since MCC 2.23.x (Cluster releases 12.7.0 and 11.7.0)
You can perform a graceful reboot on a management or managed cluster. Use the below procedure to cordon, drain, and reboot the required cluster machines using a rolling reboot without workloads interruption. The procedure is also useful for a bulk reboot of machines, for example, on large clusters.
The reboot occurs in the order of cluster upgrade policy that you can change for managed clusters as described in Change the upgrade order of a machine.
Caution
The cluster and machines must have the Ready
status to
perform a graceful reboot.
Perform a rolling reboot of a cluster using web UI¶
Available since MCC 2.24.x (Cluster release 14.0.1 and 15.0.1)
Log in to the Container Cloud web UI with the
m:kaas:namespace@operator
orm:kaas:namespace@writer
permissions.Switch to the required project using the Switch Project action icon located on top of the main left-side navigation panel.
On the Clusters page, verify that the status of the required cluster is Ready. Otherwise, the Reboot machines option is disabled.
Click the More action icon in the last column of the required cluster and select Reboot machines. Confirm the selection.
Note
While a graceful reboot is in progress, the Reboot machines option is disabled.
To monitor the cluster readiness, see Verify cluster status.
Caution
Machine configuration changes are forbidden during graceful reboot. Therefore, either wait until reboot is completed or cancel it using CLI, as described in the following section.
Perform a rolling reboot of a cluster using CLI¶
Available since MCC 2.23.x (Cluster releases 12.7.0 and 11.7.0)
Create a
GracefulRebootRequest
resource with a name that matches the name of the required cluster. For description of the resource fields, see Container Cloud documentation: API Reference - GracefulRebootRequest resource.In
spec:machines
, add the machine list or leave it empty to reboot all cluster machines.Wait until all specified machines are rebooted. You can monitor the reboot status of the cluster and machines using the
Conditions:GracefulReboot
fields of the correspondingCluster
andMachine
objects.The
GracefulRebootRequest
object is automatically deleted once the reboot on all target machines completes.To monitor the live machine status:
kubectl get machines <machineName> -o wide
Example of system response:
NAME READY LCMPHASE NODENAME UPGRADEINDEX REBOOTREQUIRED WARNINGS demo-0 true Ready kaas-node-c6aa8ad3 1 true
Caution
Machine configuration changes are forbidden during graceful reboot.
In emergency cases, for example, to migrate StackLight or Ceph services
from a disabled machine that fails during graceful reboot and blocks the
process, cancel the reboot by deleting the GracefulRebootRequest
object:
kubectl -n <projectName> delete gracefulrebootrequest <gracefulRebootRequestName>
Once you migrate StackLight or Ceph services to another machine and disable it,
re-create the GracefulRebootRequest
object for the remaining machines
that require reboot.
Note
To reboot a single node, for example, for maintenance purposes, refer to Enable cluster and machine maintenance mode.
See also