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: trueNote: 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