Skip to main content
This page documents the API schema for CKS Node Pool resources, including spec fields, status fields, conditions, and events.

Node Pool

Node Pool is the schema for the Node Pools API.

Node Pool spec

Node PoolSpec defines the desired state of Node Pool.

Node configuration update strategies

Image

Image defines what boot image the Node PoolSpec uses.
Image should be omitted from Node PoolSpec unless directed by CoreWeave support. The image and gpu fields are mutually exclusive. If both are set, gpu is ignored and image takes precedence.
NVSHMEM + GDRCopy supportNVSHMEM and GDRCopy require ncore image version 2.10.1 or later, released June 2025 (which recent ncore images include by default). If your Nodes run an older image, contact Support to request an update. For implementation instructions, see Use NVSHMEM and GDRCopy for GPU-to-GPU communication.

GPU

The gpu field defines the GPU driver configuration for Nodes in the Node PoolSpec.
The gpu and image fields are mutually exclusive. If both are set, gpu is ignored and image takes precedence.

Prefill

The prefill spec defines Node Pool Prefill behavior: proactive provisioning of replacement Nodes before Nodes marked for triage are drained and removed. See Node Pool prefill for an overview. Prefill is enabled by default for supported new Node Pools.
Node Pools created before October 8, 2026, retain their existing prefill settings. See the prefill changelog entry.
When you omit the spec.prefill field, CKS uses prefill default values. To turn off prefill, see Disable prefill. The PrefillEnabled condition reports whether prefill is functional for the Node Pool. Prefill requirements Use the following fields in spec.prefill to configure prefill: The maximum allowed timeout is 24 hours by default. A timeout above the configured limit produces PrefillEnabled: False with reason InvalidTimeout. Check the condition’s message for the allowed limit.

Node Pool status

Node Pool status is the observed state of a Node Pool.

RackStatus

RackStatus is the observed rack state for a Node Pool. This field is only populated for rack-based instance types.

Pending Node configuration

The pendingNodeConfiguration contains information about the configuration that is pending adoption on the NodePool. This configuration is not set as the active configuration without an explicit upgrade. This field is only present if there are configuration updates available for your NodePool and your nodeConfigurationUpdateStrategy.type is set to Manual or OnSpecUpdate. For example, if a new GPU driver or Kubernetes version is available, CKS creates a new configuration and sets it as pending on the Node Pool. The summary field provides more information about the available updates. See Manage Node Pool Configuration to promote a pending configuration. With the Manual strategy, every new configuration is set as pending, including your own image and gpu spec changes and CoreWeave-published updates, and none of them becomes active until you promote it. To inspect the pending configuration, run kubectl get nodepool [NODEPOOL-NAME] -o yaml and check status.pendingNodeConfiguration. To promote it, see Stage Node Pool configurations.

Node configuration revisions

The revisions list holds history of the Node configurations that were applied to the NodePool. That is, configurations that were at one point the status.nodeProfile. The list is sorted by creation timestamp, and can be used as a reference to roll back to a previous Node configuration if desired. See Manage Node Pool Configuration to roll back to a previous configuration.

Conditions

Node Pools and the Nodes within them report status through conditions.

Node conditions

CoreWeave sets the following conditions on Nodes in a Node Pool.

Prefill condition reasons

When Node Pool Prefill is enabled, the Prefill condition on a Node uses the following reasons:

Node Pool conditions

CoreWeave sets the following conditions on a Node Pool after the Node Pool resource has been created.

Condition: Validated

This condition answers the question: “Is the Node Pool configuration valid?” It has three possible statuses:

Condition: PrefillEnabled

The PrefillEnabled condition in status.conditions reports whether prefill is functional for the Node Pool. It’s True when prefill is enabled, explicitly or by default, and the Node Pool’s configuration supports it. It doesn’t indicate whether prefill operations are in progress or guarantee replacement capacity or readiness. When the condition is False, CKS doesn’t mark new Nodes for prefill. A reason that starts with Unsupported means that the Node Pool’s configuration doesn’t support prefill, so CKS turns off prefill automatically. These reasons don’t indicate a configuration error, and you don’t need to take action unless you want to use prefill.

Condition: AtTarget

This condition shows whether the Node Pool has the expected number of active Nodes. The AtTarget condition has five possible values:

Condition: NodesRemoved

The condition NodesRemoved is applied to a Node Pool when it is pending deletion and Nodes are in the process of being removed. Once all Nodes are removed, the Node Pool is deleted. This response indicates one of the following conditions:

Condition: Capacity

The Capacity condition indicates whether there is enough capacity available for the requested number of Nodes in the requested instance type. This response indicates one of the following conditions:

Condition: Quota

Quota has four statuses.

Condition: NodeReconfigurationRequired

This condition reports whether existing Nodes need a reconfigure reboot to adopt the active configuration (status.nodeProfile). Read its status, reason, and message together: A False status alone doesn’t confirm completion because it can accompany InternalError. Before declaring a rollout complete, check the reason, expected Node count, and per-Node image labels. Configuration adoption doesn’t confirm workload health. See Track rollout progress.

Healthy Node Pools

A new Node Pool in a healthy state looks like this when described:
new node pool, showing new conditions with 'describe'
Example output

Events

The Node Pool controller emits the following Kubernetes Events.

Node lifecycle events

CoreWeave’s Node lifecycle automation emits the following events on Nodes during state transitions.
Don’t use these events for your own automation. Event names are intended for internal use and can change without notice.
Last modified on October 14, 2026