docs
/

Cluster setup

2 min read

Learn how to set up K8s clusters capable of supporting CVMs.

The following sections show how you can set up your Kubernetes clusters hosted by Google, Azure, and Amazon to support CVMs.

Google Cloud Platform w/ GKE

To use CVMs with GKE, create a cluster with the following parameters set:

  • GKE Master version latest
  • node-version = "latest"
  • image-type = "UBUNTU"

Example:

gcloud beta container clusters create "YOUR_NEW_CLUSTER" \
    --node-version "latest" \
    --cluster-version "latest" \
    --image-type "UBUNTU"
    ...

Azure Kubernetes Service

If you're using Kubernetes version 1.18, Azure defaults to the correct Ubuntu node base image. When creating your cluster, set --kubernetes-version to 1.18.x or newer for CVMs.

Amazon Web Services w/ EKS

You can modify an existing AWS-hosted container to support CVMs by creating a nodegroup and updating your eksctl config spec.

  1. Define your config file in the location of your choice (we've named the file coder-node.yaml, but you can call it whatever you'd like):

    apiVersion: eksctl.io/v1alpha5
    kind: ClusterConfig
    
    metadata:
      version: "1.21"
      name: <YOUR_CLUSTER_NAME>
      region: <YOUR_AWS_REGION>
    
    nodeGroups:
      - name: coder-node-group
        amiFamily: Ubuntu2004
        ami: <your Ubuntu 20.04 AMI ID>
    

    See here for a list of EKS-compatible Ubuntu AMI IDs

  2. Create your nodegroup using the config file you just created (be sure to provide the correct file name):

    eksctl create nodegroup --config-file=coder-node.yaml
    

See an opportunity to improve our docs? Make an edit.