Skip to main content
Crusoe Support Help Center home page
Crusoe

Increase Maximum Node Count on an Existing CMK Cluster

Sanchit Pathak
Sanchit Pathak
Updated

Last Updated: Mar 24, 2026

Introduction

By default, a Crusoe Managed Kubernetes (CMK) cluster is configured with a pod CIDR range of /16 and a node CIDR mask of /24. This setup allows for a total of 65,536 pod IP addresses. Since each node is allocated a /24 subnet (providing 256 IPs), the cluster can support a maximum of 256 nodes (65,536/256).

This article outlines steps to increase the maximum node count of an existing CMK cluster to address insufficient IP address allocation in the pod network CIDR. The cleanest approach is to recreate the cluster with an updated pod CIDR range and node subnet mask. However, when recreating the cluster is not an option, this article provides guidance on extending the maximum number of nodes that the cluster can accommodate.

Note: To create a new CMK cluster with more than 256 nodes, refer to KB How-To Create CMK Cluster With >256 Nodes

Prerequisites

Before starting, ensure you have the following:

  • Access to a Crusoe Cloud project with appropriate permissions
  • Helm Client Installed
  • Kubeconfig to access your CMK cluster

Important: Clusters with more than 200 nodes: Clusters running on general-purpose control plane infrastructure may experience instability when this procedure generates high write volumes against a large etcd database. If your cluster has more than 200 nodes, please contact Crusoe Support before proceeding.

Step-by-Step Instructions

  • Get the current Cilium configuration for the cluster.
$ helm --kubeconfig <kube-config-yaml>.yaml get values -n kube-system cilium | grep -v 'USER-SUPPLIED VALUES:' > cilium-values.yaml
  • Modify the contents of the file cilium-values.yaml to add an extra IPv4 Pod CIDR list.
MTU: 8900
bpf:
  masquerade: true
envoy:
  enabled: false
  prometheus:
    enabled: false
ipam:
  mode: cluster-pool
  operator:
    clusterPoolIPv4MaskSize: 24
    clusterPoolIPv4PodCIDRList:
    - 10.234.0.0/16
    - 10.235.0.0/16 //// NEW ADDITION
ipv4:
  enabled: true
ipv4NativeRoutingCIDR: 10.234.0.0/16
ipv6:
  enabled: false
k8sServiceHost: <cluster-dns>
k8sServicePort: 443
kubeProxyReplacement: true
prometheus:
  enabled: true

Note: In above example, adding another pool of /16 PodCIDR List will ensure that the CMK cluster can now support upto 512 nodes in the cluster. Adjust this number as per requirement depending on the starting value for pod CIDR range and/or node subnet mask. Reach out to Crusoe support for any questions around this value. 

  • Perform Helm upgrade to Cilium to apply new configuration.
$ helm --kubeconfig <kube-config-yaml>.yaml upgrade -n kube-system cilium/cilium --values ./cilium-values.yaml --version 1.16.1
  • Restart Cilium Operator Deployment to ensure the CMK cluster picks up the new configuration.
$ kubectl rollout restart -n kube-system deploy/cilium-operator --kubeconfig <kube-config-yaml>.yaml

Additional Resources

Related to

Was this article helpful?

0 out of 0 found this helpful

Still need help?

Our support team is ready to assist you with any questions.

Have more questions? Submit a request

Recently Viewed

Comments

0 comments

Article is closed for comments.