Skip to main content

Node Pool Reference

Node Pools use the following API schema definitions:

Node Pool

Node Pool is the schema for the Node Pools API.

FieldTypeDescriptionDefault
apiversionstringThe version of the Kubernetes API that the Node Pool uses.compute.coreweave.com/v1alpha1
kindstringThe type of resource being defined, such as a Node PoolNode PoolList
metadataListMetaSee the Kubernetes API documentation for metadata
specNode PoolSpecThe desired state of the Node Pool.
statusNode PoolStatusThe observed state of the Node Pool. See Node PoolStatus.

Node Pool Spec

Node PoolSpec defines the desired state of Node Pool.

FieldTypeDescriptionDefaultValidation
instanceTypestringInstance Type for the Nodes in this Node Pool (Note: instanceType is immutable and unchangeable)N/ARequired
targetNodesintegerThe quantity of desired Nodes in the Node PoolN/ARequired
minNodesintegerThe minimum number of TargetNodes allowed by the autoscalerN/AOptional
maxNodesintegerThe maximum number of TargetNodes allowed by the autoscalerN/AOptional
nodeLabelsobject (keys:string, values:string)List of labels associated with the Nodes in the Node PoolN/AOptional
nodeAnnotationsobject (keys:string, values:string)List of annotations associated with the Nodes in the Node PoolN/AOptional
nodeTaintsTaint ArrayList of taints associated with the Nodes in the Node PoolN/AOptional
imageImageThe image to use for the Nodes in the Node Pool.N/AOptional
autoscalingbooleanEnable or disable cluster autoscalingfalseOptional
Important

CoreWeave plans to add a cluster Autoscaler in a later release of CKS. Please note that minNodes and maxNodes have Autoscaler as a prerequisite, and as such aren't yet functional parameters for Node Pools.

Image

Image defines what boot image the Node PoolSpec uses.

Warning

Image should be omitted from Node PoolSpec unless directed by CoreWeave support.

FieldTypeDescriptionDefaultValidation
kernelstringKernel version for this Node PoolOptional
namestringName of the image for this Node PoolOptional
releaseTrainstringThe release channel or track for the imagestableOptional Enum: [stable latest]

Node PoolStatus

Node PoolStatus is the observed state of Node Pool.

FieldTypeDescriptionValidation
currentNodesintegerThe number of Nodes for this Node Pool present in the clusterOptional Minimum
nodeProfilestringNodeProfile represent string of the NodeProfileOptional
conditionsCondition ArrayAll conditions associated with the Node PoolOptional

Conditions

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

Condition: Accepted

The Accepted condition indicates whether or not the Node Pool's configuration is accepted. If a Node Pool's condition is Accepted, it means that the Node Pool has a valid configuration, and any requests for changes to the number of Nodes are ready for further processing. This response indicates one of the following conditions:

StatusMeaning
AcceptedThe Node Pool is valid and ready for further processing.
InternalErrorThe Node Pool encountered an issue trying to validate the resource. Unlike Invalid below, this implies an error with the validation process, rather than the configuration itself.
InvalidThe Node Pool's configuration is not considered valid.
PolicyViolationThe Node Pool's configuration is considered invalid because of a specific policy violation, such as a certain Instance Type being unavailable at the specified Region.

Condition: Allocated

The Allocated condition indicates whether or not the Node Pool has the appropriate number of Nodes in it. This response indicates one of these conditions:

StatusMeaning
CompleteThe Node Pool has the appropriate number of Nodes. This means that all requested Nodes have been allocated and are ready for use.
PendingDeletethe Node Pool is pending deletion; Nodes are being removed from the Node Pool and the Node Pool will be deleted once that process is complete.
OverTargetThe Node Pool's configuration is not considered valid.
PolicyViolationThe Node Pool's configuration is considered invalid because of a specific policy violation, such as a certain Instance Type being unavailable at the specified Region.
UnderTargetThere are fewer Nodes in the Node Pool than the target number outlined in the CR.
InternalErrorThere is an internal error in the Node Pool; the customer should check the logs for more information.
UnknownThe current status of the Node Pool is unknown.

Condition: MetadataSynced

The MetadataSynced condition indicates whether all Nodes in the Node Pool have the right metadata. Metadata must be synced when new Nodes are added to the Node Pool, or when details about the Node Pool change. This response indicates one of the following conditions:

StatusMeaning
SyncedAll Nodes in the cluster have up-to-date metadata
PendingNot all Nodes in the cluster have up-to-date metadata, either because some Nodes have accurate metadata and some don't or because no Nodes have up-to-date metadata (i.e., if the Node Pool is just spinning up).
UnknownThe current status of updating the metadata is unknown.

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 will be deleted. This response indicates one of the following conditions:

StatusMeaning
CompleteAll Nodes have been removed from the Node Pool, and the Node Pool's deletion is imminent.
PendingNodes are in the process of being removed from the Node Pool.
InternalErrorAn internal error has occurred while trying to remove Nodes from the Node Pool. Check the Node Pool logs for further details.

Condition: SufficientCapacity

The SufficientCapacity 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:

StatusMeaning
SufficientAll Nodes have been removed from the Node Pool, and the pool's deletion is imminent.
PartialThere is partial capacity in the designated Region to fulfill the request, but not to completely fulfill it.
NoneAvailableNo Nodes are available of the requested type in the given Region.
InternalErrorCoreWeave Kubernetes Service is unable to determine capacity due to an internal error occurring while attempting to process the updated Node Pool.

Events

Node events

Event NameRelated resourceOccurs when
CWNodeRegisteredEventNodeFired when Node registration succeeds.
CWRegistrationFailedEventNodeFired when Node registration fails; see provided message for additional details.
NodeCWActiveNodeFired to identify if a Node is active.

Node Pool events

Event NameRelated resourceOccurs when
NodePoolRemoveNodesNode PoolFired when attempting to scale down a Node Pool.
NodePoolNodesRemoveErrorNode PoolFired when an error occurs during Node Removal.
NodePoolNodesRequestedNode PoolFired when a request is submitted to add Nodes to a Node Pool.
NodePoolMetadataNode PoolFired when metadata is updated for a Node Pool.
NodePoolNodesAllocatedNode PoolFired when a Node appears in the cluster for the Node Pool.
NodePoolNodesRemovedNode PoolFired when Nodes are removed from the Node Pool.
NodePoolNodesRequestFailedNode PoolFired when there is an error while attempting to update the Node Pool.
InvalidInstanceTypeNode PoolFired when a Node Pool contains an invalid instance type.
InstanceTypeNotInZoneNode PoolFired when a Node Pool has an instance type not in its Zone.
InstanceTypeNotInZoneNode PoolFired when a Node Pool has an instance type defined in it that is not available in its Zone.

Quota events

The following events are related to Node Pool quotas, and display these messages when describing the nodepool resource using Kubectl.

ReasonRelated resourceMessageDescription
Node PoolQuotaCheckFailedNode PoolQuota not found for instance type {INSTANCE_TYPE} in zone {ZONE}.A quota does not exist. Please contact support.
NPOCWOverQuotaNode PoolNode Pool targetNodes pushes you over quota for {INSTANCE_TYPE} in {ZONE}.The quota exists, but is insufficient for the Node Pool request.