Skip to main content

Manage your Node Pools

What to know about Node Pools

  • Node pools allow you to group one or more Crusoe Cloud instances of the same type and associate them to a specific cluster control plane, to function as worker nodes.
  • When creating a node pool, you must specify the number of VMs you want to create via a count field. Once specified, the node pool will maintain this VM count where possible. For example, if you stop or terminate one of the VMs in your node pool, the node pool will provision new VMs up till the count specified.
  • You may scale up or down your node pool by specifying a new count value. Note that setting a count value lower than the current number does not automatically delete VMs from your node pools. You must manually delete the instances you want removed.
  • We currently do not allow editing the startup script or image associated with node pools. To install packages or software on node bring-up, we recommend using Daemonsets.

Creating a New Node Pool

Nodepools can be created by using the kubernetes nodepools create command. Nodepools must be created in the context of a specific cluster. Use the '--help' flag for an exhaustive list of options.

crusoe kubernetes nodepools create \
--name my-first-nodepool \
--cluster-id 6f8e2a1b-7b1d-4c8e-a9f2-8e3d6c1f2a0c \
--type h100-80gb-sxm-ib.8x \
--count 4 \
--ib-partition-id 4c8e2a1b-7b1d-4c8e-a9f2-8e3d6c1f2a0c \

Viewing Existing Node Pools

Use the kubernetes nodepools list command to list all existing node pools across clusters. You can also use the `kubernetes nodepools get' command to retrieve individual node pool details.

crusoe kubernetes nodepools get <name/id>

Update your Node Pool Template

You can the following properties of your node pool:

  • Change the count of nodes in the node pool
  • Set the pool to use (or not use) local ephemeral NVMe for containerd storage (CLI and Terraform only)
  • Set the labels for your pool. The newly provided labels will overwrite all old labels. (CLI and Terraform only)
  • The version of the pool's Kubernetes worker nodes. You can get a list of available versions by running crusoe kubernetes versions list from the Crusoe CLI. (CLI and Terraform only)

Updating properties of a nodepool will update the nodepool template, but will not perform an in-place upgrade of the existing nodes in the pool. If you scale the nodepool after applying an update, the updated template will only apply to the newly created nodes. To update existing nodes, you must perform a rolling upgrade (see section below).

You may update the number of nodes in your nodepools by using the crusoe kubernetes nodepools update command.

crusoe kubernetes nodepools update <name/id> --count 3

For instructions on how to update additional elements of your nodepool (e.g. ephemeral storage for containerd, nodepool labels), run:

crusoe kubernetes nodepools update -h

Updating Nodes in Your Node Pool

To make existing nodes reflect the latest nodepool configuration template, simply delete the VMs backing the nodes. The node pool will heal by creating new VMs that reflect the new template.

Delete a Node Pool

You can delete nodepools by using the kubernetes nodepools delete command and specifying either the name of ID of the nodepool you want to delete.

crusoe kubernetes nodepools delete <name/id>

If you are having issues creating or deleting clusters, please contact support.