Node Pool Reference
Node Pools use the following API schema definitions:
Node Pool
Node Pool is the schema for the Node Pools API.
Field | Type | Description | Default |
---|---|---|---|
apiversion | string | The version of the Kubernetes API that the Node Pool uses. | compute.coreweave.com/v1alpha1 |
kind | string | The type of resource being defined, such as a Node Pool | Node PoolList |
metadata | ListMeta | See the Kubernetes API documentation for metadata | |
spec | Node PoolSpec | The desired state of the Node Pool. | |
status | Node PoolStatus | The observed state of the Node Pool. See Node PoolStatus. |
Node Pool Spec
Node PoolSpec defines the desired state of Node Pool.
Field | Type | Description | Default | Validation |
---|---|---|---|---|
instanceType | string | Instance Type for the Nodes in this Node Pool (Note: instanceType is immutable and unchangeable) | N/A | Required |
targetNodes | integer | The quantity of desired Nodes in the Node Pool | N/A | Required |
minNodes | integer | The minimum number of TargetNodes allowed by the autoscaler | N/A | Optional |
maxNodes | integer | The maximum number of TargetNodes allowed by the autoscaler | N/A | Optional |
nodeLabels | object (keys:string , values:string ) | List of labels associated with the Nodes in the Node Pool | N/A | Optional |
nodeAnnotations | object (keys:string , values:string ) | List of annotations associated with the Nodes in the Node Pool | N/A | Optional |
nodeTaints | Taint Array | List of taints associated with the Nodes in the Node Pool | N/A | Optional |
image | Image | The image to use for the Nodes in the Node Pool. | N/A | Optional |
autoscaling | boolean | Enable or disable cluster autoscaling | false | Optional |
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.
Image should be omitted from Node PoolSpec
unless directed by CoreWeave support.
Field | Type | Description | Default | Validation |
---|---|---|---|---|
kernel | string | Kernel version for this Node Pool | Optional | |
name | string | Name of the image for this Node Pool | Optional | |
releaseTrain | string | The release channel or track for the image | stable | Optional Enum: [stable latest] |
Node PoolStatus
Node PoolStatus is the observed state of Node Pool
.
Field | Type | Description | Validation |
---|---|---|---|
currentNodes | integer | The number of Nodes for this Node Pool present in the cluster | Optional Minimum |
nodeProfile | string | NodeProfile represent string of the NodeProfile | Optional |
conditions | Condition Array | All conditions associated with the Node Pool | Optional |
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:
Status | Meaning |
---|---|
Accepted | The Node Pool is valid and ready for further processing. |
InternalError | The 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. |
Invalid | The Node Pool's configuration is not considered valid. |
PolicyViolation | The 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:
Status | Meaning |
---|---|
Complete | The Node Pool has the appropriate number of Nodes. This means that all requested Nodes have been allocated and are ready for use. |
PendingDelete | the 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. |
OverTarget | The Node Pool's configuration is not considered valid. |
PolicyViolation | The 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. |
UnderTarget | There are fewer Nodes in the Node Pool than the target number outlined in the CR. |
InternalError | There is an internal error in the Node Pool; the customer should check the logs for more information. |
Unknown | The 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:
Status | Meaning |
---|---|
Synced | All Nodes in the cluster have up-to-date metadata |
Pending | Not 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). |
Unknown | The 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:
Status | Meaning |
---|---|
Complete | All Nodes have been removed from the Node Pool, and the Node Pool's deletion is imminent. |
Pending | Nodes are in the process of being removed from the Node Pool. |
InternalError | An 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:
Status | Meaning |
---|---|
Sufficient | All Nodes have been removed from the Node Pool, and the pool's deletion is imminent. |
Partial | There is partial capacity in the designated Region to fulfill the request, but not to completely fulfill it. |
NoneAvailable | No Nodes are available of the requested type in the given Region. |
InternalError | CoreWeave 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 Name | Related resource | Occurs when |
---|---|---|
CWNodeRegisteredEvent | Node | Fired when Node registration succeeds. |
CWRegistrationFailedEvent | Node | Fired when Node registration fails; see provided message for additional details. |
NodeCWActive | Node | Fired to identify if a Node is active. |
Node Pool events
Event Name | Related resource | Occurs when |
---|---|---|
NodePoolRemoveNodes | Node Pool | Fired when attempting to scale down a Node Pool. |
NodePoolNodesRemoveError | Node Pool | Fired when an error occurs during Node Removal. |
NodePoolNodesRequested | Node Pool | Fired when a request is submitted to add Nodes to a Node Pool. |
NodePoolMetadata | Node Pool | Fired when metadata is updated for a Node Pool. |
NodePoolNodesAllocated | Node Pool | Fired when a Node appears in the cluster for the Node Pool. |
NodePoolNodesRemoved | Node Pool | Fired when Nodes are removed from the Node Pool. |
NodePoolNodesRequestFailed | Node Pool | Fired when there is an error while attempting to update the Node Pool. |
InvalidInstanceType | Node Pool | Fired when a Node Pool contains an invalid instance type. |
InstanceTypeNotInZone | Node Pool | Fired when a Node Pool has an instance type not in its Zone. |
InstanceTypeNotInZone | Node Pool | Fired 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.
Reason | Related resource | Message | Description |
---|---|---|---|
Node PoolQuotaCheckFailed | Node Pool | Quota not found for instance type {INSTANCE_TYPE} in zone {ZONE}. | A quota does not exist. Please contact support. |
NPOCWOverQuota | Node Pool | Node Pool targetNodes pushes you over quota for {INSTANCE_TYPE} in {ZONE}. | The quota exists, but is insufficient for the Node Pool request. |