Skip to main content

Create a Kubernetes cluster

Step-by-step guides for creating Kubernetes clusters on every supported provider.

Create a Kubernetes cluster

Create a Kubernetes cluster on any supported provider — AWS, Azure, GCP, or on-premises.

TimeAbout 15-20 minutes (provisioning may take longer)
You will needA configured cloud account, Vantage organization access
OutcomeA running Kubernetes cluster managed in Vantage

Prerequisites

  • A Vantage account and organization.
  • A configured Cloud Account for your chosen provider, see Compute Providers.
  • AWS only: An SSH key pair created in the target AWS region. Vantage uses the key pair name when creating the control plane EC2 instance.

AWS K8s clusters use direct boto3 API calls (not CloudFormation) to provision infrastructure. Vantage creates the VPC, IAM roles, security groups, and launches a control plane EC2 instance with MicroK8s pre-configured.

Open Clusters

Click Clusters in the left sidebar (the Kubernetes view is shown by default), then click Prepare Cluster. A modal opens with the Configure step.

Configure the cluster

Enter a Cluster Name (max 27 characters, must be unique) and optional Description. Select your AWS Cloud Account, then click Continue. The Provider step opens.

Configure AWS resources

Set the Region (the dropdown loads after you select the cloud account). Click Select Machine to choose a Control Plane Machine Type: browse EC2 instance types by vCPU, GPU, and price. Select an SSH Key Name (the list loads after you pick a region; create a key pair in the AWS EC2 console first if empty). Click Prepare Cluster to submit.

JupyterHub and Grafana + Prometheus are enabled by default. See Integrations for details.

Success looks like this: the cluster enters provisioning, Kubernetes resources begin appearing, and the cluster status moves toward ready.

What Vantage provisions on AWS

ResourceDetails
VPC10.0.0.0/16 CIDR (auto-created if not provided)
SubnetsPublic + private subnets
Internet Gateway + NAT GatewayFor outbound and inbound connectivity
Security groupsDefault VPC security group for inter-node communication
IAM Rolevantage-{client_id}-node-role with EC2 trust policy
Instance Profilevantage-{client_id}-instance-profile linked to the IAM role
IAM PoliciesAmazonEBSCSIDriverPolicy, AmazonEFSCSIDriverPolicy, AmazonFSxFullAccess, plus a custom inline policy for EC2 Fleet management and launch template operations
Control plane EC2 instancevantage-{client_id}-control-plane with Ubuntu 24.04, MicroK8s, LUKS encryption, Vault KMS, and Vantage connector
Launch TemplatesCreated by the autoscaler at runtime (one per compute pool)
EC2 Fleet instancesTagged vantage-cluster={client_id}, managed by the autoscaler

Slurm on Kubernetes

You can deploy a Slurm scheduler on top of an existing Kubernetes cluster (AWS only). See the Slurm on Kubernetes guide for the full walkthrough.

What happens after submission

After submission, the cluster enters preparing status. The background thread handles all provisioning:

  1. STS AssumeRole (AWS only), Assumes the IAM role from the cloud account for temporary credentials.
  2. Network setup: Creates VPC, subnets, and security groups (or validates existing ones).
  3. IAM resources (AWS only), Creates instance roles and policies.
  4. Control plane launch: Creates the EC2 instance or VM with cloud-init that installs MicroK8s, LUKS encryption, and Vault KMS.
  5. markClusterReady: Cloud-init calls this mutation when setup completes. The cluster transitions to ready.
  6. vdeployer deploy: Deploys autoscaler, tunnel client, and enabled integrations.
tip

Poll the cluster status every 30-60 seconds. AWS provisioning typically takes 10-15 minutes.

Ask AI
Ask a question about Vantage Compute...