Prerequisites
- An active CoreWeave account
- A CKS cluster
kubectlinstalled locally- An active API Access Token, with an associated Kubeconfig
Create a Node Pool using the Cloud Console
To create a Node Pool from the Cloud Console, complete the following steps:- In Cloud Console, navigate to Node Pools. If you don’t yet have any CKS clusters, you need to create a cluster first.
-
Select the CKS cluster to which the Node Pool should be added from the drop-down menu at the top of the page.

-
Click the Create Node Pool button at the top right corner of the dashboard.

-
The creation page features a YAML editor alongside a corresponding GUI.

-
Configure the Node Pool:
Field Type YAML Field Description Name String metadata.nameThe name of the Node Pool Cluster String spec.clusterThe cluster to which the Node Pool is added Compute Class String spec.computeClassThe compute class of the Node Pool. Target Nodes Integer spec.targetNodesThe number of desired Nodes in the Node Pool (minimum: 0). Mutually exclusive withtargetRacks.Target Racks Integer spec.targetRacksThe quantity of desired racks for rack-based instance types. Mutually exclusive with targetNodes.Instance Type String spec.instanceTypeThe instance type for the Node Pool
Node Pool quotas
Every timetargetNodes is set, whether you’re creating a new Node Pool or scaling an existing one, CKS checks the organization’s quota. If the total request exceeds the organization’s quota for that instance type and zone, the Node Pool is filled up to the allowed quota. The output of kubectl describe on the nodepool resource displays error messages:
Configure taints, labels, and annotations
At the bottom of the creation page, configure any taints, annotations, or labels for the Node Pool.
For more information about Node taint scheduling, see Taints and Tolerations in the official Kubernetes documentation. For information about the valid syntax for labels and annotations in CKS and vanilla Kubernetes, see Labels and Selectors in the official Kubernetes documentation.
Deploy the Node Pool
- When the Node Pool is ready, click the Submit button to deploy it. If you need to make changes, click the Reset button to clear all fields and start over.
-
After you click the Submit button, Cloud Console directs you back to the Node Pools dashboard. The new Node Pool is listed in a
Pendingstate until deployment completes, when its status changes toHealthy.
To learn more about other Node Pool conditions, see the Node Pool reference on conditions.
Create a Node Pool using Kubernetes
The following sections describe how to define a Node Pool manifest, apply it to your cluster, and verify the result. First, configure a Node Pool manifest. Here’s an example of adefault Node Pool:
example-nodepool.yaml
| Field | Type | Description | Default |
|---|---|---|---|
computeClass | String | The compute class of the Node Pool. | default |
instanceType | String | GPU Instance or CPU Instance type | N/A |
autoscaling | Boolean | Whether a cluster has autoscaling enabled. Not supported for rack-based instance types (GB200, GB300). | false |
targetNodes | Integer | The number of desired Nodes in the Node Pool (Optional, minimum 0). Mutually exclusive with targetRacks. | N/A |
targetRacks | Integer | The quantity of desired racks for rack-based instance types (Optional). Mutually exclusive with targetNodes. | N/A |
minNodes | Integer | The minimum number of Nodes in the cluster (Optional if autoscaling: false) | 0 |
maxNodes | Integer | The maximum number of Nodes in the cluster (Optional if autoscaling: false) | 0 |
nodeLabels | Map | Labels to apply to the Nodes in the Node Pool, to organize Nodes for specific purposes and Pod scheduling (Optional) | N/A |
nodeTaints | Map | Taints to apply to the Nodes in the Node Pool, to schedule only Pods with matching tolerations (Optional) | N/A |
| Key | Example value | Description |
|---|---|---|
name | example-nodepool | The name of the Node Pool |
computeClass | default | The compute class of the Node Pool, in this case a default Node Pool for Reserved and On-Demand instances |
autoscaling | false | Autoscaling is not enabled |
instanceType | gd-8xh100ib-i128 | The type of instances to include in the Node Pool, in this case 8 GPU-count H100s with InfiniBand (gd-8xh100ib-i128) |
minNodes | 0 | The minimum number of Nodes that must be in the Node Pool. In this case, that number is not set (set to 0) |
maxNodes | 0 | The maximum number of Nodes that can be in the Node Pool. In this case, that number is not set (set to 0) |
targetNodes | 2 | The number of desired Nodes that should be in the Node Pool, in this case 2 |
nodeLabels | my-label/node: "true" | The label to place on all Nodes within the Node Pool |
nodeTaints | [{ key: "my-label/node", value: "true", effect: "NoSchedule" }] | The taint to place on all Nodes in the Node Pool |
Autoscaling
To enable autoscaling for a Node Pool, setautoscaling: true. The autoscaler then adjusts targetNodes based on workload demand, keeping it between minNodes and maxNodes.
Rack-based Node Pools
For rack-based instance types, such as GB200 and GB300,targetRacks can be used instead of targetNodes. Each rack contains 18 Nodes, so setting targetRacks requests Nodes in multiples of 18 without having to calculate the Node count yourself. For example, targetRacks: 5 requests 5 racks, or 90 Nodes.
targetRacks and targetNodes are mutually exclusive: a Node Pool spec must set exactly one of the two.
example-rack-nodepool.yaml
Apply the manifest
After you configure the manifest, apply it withkubectl:
Verify the Node Pool
Verify that CKS created the Node Pool resource by usingkubectl get on the nodepool resource. For example:
Example command
Example output
List all available Node Pools
To view all available Node Pools in a cluster, usekubectl get nodepool. This returns a list of all current Node Pools in the cluster, as well as their current condition. For example:
Example command
Example output
View the Node Pool
To see additional details on any Node Pool, target the Node Pool withkubectl describe.
For example, where the Node Pool’s metadata.name is example-nodepool:
Example command
Example output
For more information about Node Pool
conditions, see Node Pool reference: conditions.| Field name | Description |
|---|---|
INSTANCE TYPE | The instance type of all Nodes in the Node Pool. |
TARGET | The number of Nodes in the Node Pool spec being requested. |
QUEUED | The count of queued Nodes waiting to be assigned. |
INPROGRESS | The count of Nodes assigned and progressing into the Node Pool. |
CURRENT | The count of Nodes in-cluster associated with the Node Pool. |
VALIDATED | Displays the result of Node Pool validation. |
CAPACITY | Displays the last result for capacity checks for the instance type. |
QUOTA | Displays the last result for quota checks for the instance type. |
AGE | Indicates how long ago the Node Pool was created. |
For more information about Node Pool creation, see the Node Pool reference page.