- Standard Node reboot: A typical reboot to apply a system update or other change.
- Reconfigure reboot: A reboot to apply an updated Node Pool configuration to existing Nodes.
Reboot options
You can request a reboot in the following ways:Safe versus immediate reboots
Before you request a reboot, choose the right reboot option. You can reboot a Node whether it’s active or idle.- Safe reboot: A safe reboot marks the Node to reboot after it becomes idle and all active workloads stop. New Pods might still be scheduled while the reboot waits.
- Immediate reboot: An immediate reboot reboots the Node without waiting for active workloads to stop.
CWActive condition is set to True, which means it runs at least one Pod that counts toward the Node’s idle status. DaemonSet Pods, interruptible Pods, and CoreWeave system Pods don’t count as active, so you don’t need to remove them before a reboot. To see which conditions CKS ignores when determining whether a Node is idle, see Idle Nodes.
After the Node reboots, it remains in a reboot state while a short self-test runs. After the test passes, the Node returns to the production state and accepts customer workloads.
Prerequisites
Before you begin a Node reboot, ensure you have the following:- An active CoreWeave account.
- An API Access Token.
kubectlinstalled locally, if you use thekubectlmethod.
- CoreWeave Intelligent CLI
- kubectl and Kubernetes API
Install the latest version of the CoreWeave Intelligent CLI.
Check the Node before rebooting
Only reboot a Node that is in theproduction lifecycle state. Don’t manually request a reboot while a Node is transitioning between lifecycle states, because the reboot request can conflict with the transition that CoreWeave already has in progress.
The examples in this guide use a NODE environment variable. Replace [NODE-NAME] with the name of the Node you want to reboot:
1
Check the Node lifecycle state
Run the following:Continue only if the command returns
production:Example output
2
Check for active workloads
Run the following:A value of
True means the Node has active workloads, so an immediate reboot interrupts them. DaemonSet Pods, interruptible Pods, and CoreWeave system Pods aren’t counted as active, so you don’t need to remove them.If you have the CoreWeave Intelligent CLI, you can also check a Node’s active status with the cwic node get command. Read the ACTIVE column, which reflects CWActive. Don’t use the READY column, which reflects the Kubernetes Ready condition and is true on idle Nodes as well.Request a Node reboot
Choose one of the following methods to request a reboot.- CoreWeave Intelligent CLI
- kubectl
- Kubernetes API
To use the CoreWeave Intelligent CLI to reboot a Node, run the following command, choosing a flag from the following list and replacing The Enter Adding a reason for the reboot is optional, but recommended. To set a message for the reboot, use the Run
[NODE-NAMES] with a space-separated list of Nodes you want to reboot:--safe flag queues a safe reboot, and the --unset flag cancels a pending safe reboot. The --force flag, or its alias --yes, requests an immediate reboot without prompting.Without a flag, cwic node reboot requests an immediate reboot. If any of the Nodes are active, it prompts you with three options:Example output
S to switch to a safe reboot, which waits for the active workloads to stop. Pressing Enter accepts the default, Y, and reboots the Nodes immediately.The CoreWeave Intelligent CLI refuses to reboot a Node that isn’t in the production state, so you don’t need to check the lifecycle state yourself.For example, to request an immediate reboot for the Nodes node-1 and node-2 without a confirmation prompt, run:--message flag. For example, run:cwic node reboot --help for more information.Reboot request reference
Refer to the following table when rebooting withkubectl or the Kubernetes API:
The condition
type, status, and reason fields form the reboot request contract and must use the values shown in the preceding table. The message field is descriptive. Use it to record the source or purpose of the request.
Monitor the reboot
To watch the Node’s lifecycle and readiness conditions, run:- The
Statereason returns toproduction. - The Kubernetes
Readycondition isTrue. - Your workloads can be scheduled or resumed as expected.
Cancel a pending reboot
You can cancel a safe reboot while it’s still pending. A pending reboot has no timeout: it waits indefinitely until no workloads block the transition, so a pending request can remain in place for a long time. Cancel the request if you no longer want the Node to reboot. You can’t cancel a reboot after the Node starts rebooting, and you can’t cancel an immediate reboot, because an immediate reboot doesn’t wait before it starts. If a Node has already begun rebooting, wait for it to return to theproduction state.
To confirm that the reboot is still pending, run:
production-powerreset, the reboot is still pending and you can cancel it.
- CoreWeave Intelligent CLI
- kubectl
To cancel a pending safe reboot, run the following command, replacing The
[NODE-NAMES] with a space-separated list of Nodes:--unset flag clears both the pending reboot condition and the pending state label.Troubleshooting
The API returns 403 Forbidden
Your Kubernetes identity doesn’t have permission to patch the Node status. If you’re canceling a pending reboot, you need permission to patch both the Node and itsstatus subresource.
To verify your permissions, run:
The Node doesn’t reboot
Check that:- The Node was in the
productionstate when you submitted the request. - The patch was applied to the
statussubresource. - The condition type and reason use the values in Reboot request reference.
- A safe reboot isn’t waiting for active workloads to stop.
A canceled reboot still occurs
Check that both the condition and the label were cleared:none, repeat the cancellation steps. A reboot that has already started can’t be canceled. Contact CoreWeave Support if the Node reboots after both values return none.
The Node stays in production-powerreset
If you add NoExecute taints, post-reboot HPC verification might not schedule. The Node can remain in production-powerreset, and CoreWeave might replace it.
Use cwic node verify to trigger HPC verifications.
The Node doesn’t return to Ready
To collect the Node conditions and recent events, run:PhaseState doesn’t return to production or the Node remains unavailable after the expected reboot interval. Include the following information:
- The cluster name.
- The Node name.
- The time when you submitted the reboot request.
- Whether you requested a safe or immediate reboot.
- The output of
kubectl describe node.