Skip to main content
This guide explains how to manually reboot CKS Nodes, including how to choose between safe and immediate reboots and how to cancel a reboot that hasn’t started yet. You can manually reboot Nodes in two ways:
  • 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.
This guide covers standard Node reboots. To reboot Nodes to apply Node Pool configuration updates, see Apply Node Pool Configuration Updates. Nodes are managed as part of CoreWeave’s Node lifecycle. The Node Life Cycle controller handles required reboots to ensure that customer workloads aren’t interrupted. To learn how CoreWeave-initiated reboots behave, see Node state transitions in CKS.

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.
A Node is active when the 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: Depending on the method you use to reboot Nodes, confirm the following:
Install the latest version of the CoreWeave Intelligent CLI.

Check the Node before rebooting

Only reboot a Node that is in the production 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.
To use the CoreWeave Intelligent CLI to reboot a Node, run the following command, choosing a flag from the following list and replacing [NODE-NAMES] with a space-separated list of Nodes you want to reboot:
The --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
Enter 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:
Adding a reason for the reboot is optional, but recommended. To set a message for the reboot, use the --message flag. For example, run:
Run cwic node reboot --help for more information.

Reboot request reference

Refer to the following table when rebooting with kubectl or the Kubernetes API:
Note: The condition types reflect the current CKS implementation. CoreWeave lifecycle conditions are not a typed, versioned API and may change. We recommend using the CoreWeave Intelligent CLI for automation.
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:
During the reboot, the Node becomes unavailable and its readiness state changes. The reboot is complete when:
  • The State reason returns to production.
  • The Kubernetes Ready condition is True.
  • Your workloads can be scheduled or resumed as expected.
CKS doesn’t return the Node to customer workloads until its post-reboot checks complete.

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 the production state. To confirm that the reboot is still pending, run:
If the command returns production-powerreset, the reboot is still pending and you can cancel it.
To cancel a pending safe reboot, run the following command, replacing [NODE-NAMES] with a space-separated list of Nodes:
The --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 its status subresource. To verify your permissions, run:
Ask your cluster administrator to grant the minimum required permission.

The Node doesn’t reboot

Check that:
  • The Node was in the production state when you submitted the request.
  • The patch was applied to the status subresource.
  • The condition type and reason use the values in Reboot request reference.
  • A safe reboot isn’t waiting for active workloads to stop.
To inspect the relevant conditions, run:

A canceled reboot still occurs

Check that both the condition and the label were cleared:
If either value isn’t 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:
Contact CoreWeave Support if the 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.
Last modified on August 14, 2026