Skip to main content
Crusoe Support Help Center home page
Crusoe

How-To Enable Cluster Autoscaler on an Existing CMK Cluster

Shubham Mahesh Kawane
Shubham Mahesh Kawane
Updated

Introduction

If you created a CMK (Crusoe Managed Kubernetes) cluster without the Cluster Autoscaler add-on and want to enable it afterward, you can do so by applying the autoscaler manifest directly with kubectl. No cluster recreation is required.

The Cluster Autoscaler watches for pending pods that cannot be scheduled due to insufficient resources and automatically scales Crusoe node pools up or down within the configured minimum and maximum range. It runs as a deployment in the crusoe-system namespace and communicates with the Crusoe API to provision and deprovision compute instances on demand.

ℹ️ Note: Installing the autoscaler this way will not reflect in the Crusoe Cloud Portal UI — the add-on toggle will remain off even though the autoscaler is fully functional. This is a known limitation.

Prerequisites

  • kubectl Configured and Connected to Your Cluster
  • Your Cluster's Kubernetes Version — Run kubectl version to Check
  • The Node Pool Name(s) You Want to Autoscale
  • Your Desired Minimum and Maximum Node Counts per Pool

Instructions

  1. Download the manifest

    Download the example manifest from the Crusoe autoscaler GitHub repository:

    $ curl -o cluster-autoscaler.yaml https://raw.githubusercontent.com/crusoecloud/k8s-autoscaler/crusoe-cluster-autoscaler-release-1.30.3/cluster-autoscaler/cloudprovider/crusoecloud/examples/cluster-autoscaler.yaml

    Save it locally as cluster-autoscaler.yaml.

  2. Set the image tag

    The autoscaler image must match your cluster's Kubernetes minor version. Use the latest patch release for your minor version — for example, K8s 1.33.x maps to a tag like 1.33.2-crusoe.7.

    Browse all available tags to find the latest for your version: GitHub Container Registry — cluster-autoscaler-crusoecloud.

    If you're unsure which tag to use, contact Crusoe Support with your cluster ID and Kubernetes version, and they'll confirm the right one.

    In the manifest, replace the image placeholder with your tag:

    # Before
    image: ghcr.io/crusoecloud/cluster-autoscaler-crusoecloud:{{ ca_version e.g. 1.33.2-crusoe.7 }}
    
    # After (example for K8s 1.33.x)
    image: ghcr.io/crusoecloud/cluster-autoscaler-crusoecloud:1.33.2-crusoe.7
  3. Configure your node pool(s)

    In the manifest, update the --nodes flag in the container command with your node pool details:

    - --nodes=<min>:<max>:<nodepool-name>

    Replace <min>, <max>, and <nodepool-name> with your values. For example:

    - --nodes=1:10:my-cpu-pool

    To autoscale multiple node pools, add one --nodes line per pool:

    - --nodes=1:10:my-cpu-pool
    - --nodes=0:5:my-gpu-pool

    💡 Tip: Set <max> to reflect the capacity available in your Crusoe project for that instance type. If you're unsure, Crusoe Support can help you determine a safe upper bound.

  4. Apply the manifest

    $ kubectl apply -f cluster-autoscaler.yaml
  5. Verify it's running

    Check that the autoscaler pod is up:

    $ kubectl get pods -n crusoe-system | grep autoscaler

    Confirm the deployment is ready:

    $ kubectl get deployment cluster-autoscaler -n crusoe-system

    You should see 1/1 under READY. The pod may spend a minute or two in ContainerCreating on first deploy while the image pulls — this is normal.

Known Limitations

Excluding a node pool from autoscaling

Currently, if you have a node pool you do not want the Cluster Autoscaler to manage, you must still include it in the manifest with --nodes set to equal min and max values:

- --nodes=3:3:my-unmanaged-pool

Set min=max equal to the node pool's desired size — this prevents the autoscaler from scaling the pool up or down. Support for fully excluding node pools from autoscaler management is on the roadmap.

Troubleshooting

Contact Crusoe Support and include your cluster ID and Kubernetes version. We can confirm the correct image tag and help troubleshoot any issues.

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

Related Articles

Recently Viewed

Comments

0 comments

Article is closed for comments.