Node Maintenance
February 6, 2026 ยท View on GitHub
These steps only apply when using the TopoLVM StorageClass and PVCs. If only generic ephemeral volumes are used, these steps are not necessary.
Retiring Nodes
To remove a node and volumes/pods on the node from the cluster, follow these steps:
-
Run
kubectl drain NODE --ignore-daemonsets=true.--ignore-daemonsets=trueallows the command to succeed even if pods managed by Daemonset exist (e.g. topolvm-node). If drain stacks due to PodDisruptionBudgets or something, try--forceoption. -
Run
kubectl delete nodes NODE -
TopoLVM will remove PersistentVolumeClaims on the node.
-
StatefulSetcontroller reschedules Pods and PVCs on other nodes.
Rebooting Nodes
To reboot a node without removing volumes, follow these steps:
-
Run
kubectl drain NODE --ignore-daemonsets=true.--ignore-daemonsets=trueallows the command to succeed even if pods managed by Daemonset exist (e.g. topolvm-node). -
Reboot the node.
-
Run
kubectl uncordon NODEafter the node comes back online. -
After reboot, Pods will be rescheduled to the same node because PVCs remain intact.