Terraform Deployment Guide

Deploy the vanilla version of Kubeflow on AWS using Terraform

Note: Terraform deployment options are still in preview.


This guide will walk you through using Terraform to:

  • Create a VPC
  • Create an EKS cluster
  • Deploy the vanilla distribution of Kubeflow on AWS

Terraform documentation can be found here.


Be sure that you have satisfied the installation prerequisites before working through this guide.

Specifially, you must:

Additionally, ensure you are in the REPO_ROOT/deployments/vanilla/terraform folder.

If you are in repository’s root folder, run:

cd deployments/vanilla/terraform

Deployment Steps


  1. Define the following environment variables:

    # Region to create the cluster in
    export CLUSTER_REGION=
    # Name of the cluster to create
    export CLUSTER_NAME=
  2. Save the variables to a .tfvars file:

    cat <<EOF > sample.auto.tfvars

(Optional) Configure Culling for Notebooks

Enable culling for notebooks by following the instructions in configure culling for notebooks guide.

Optionally enable AWS S3 as a Terraform backend by following the instructions here.

All Configurations

A full list of inputs for the terraform stack can be found here.


View a preview of the configuration you are about apply:

terraform init && terraform plan


Run the following command:

make deploy

Connect to your Kubeflow dashboard

For information on connecting to your Kubeflow dashboard depending on your deployment environment, see Port-forward (Terraform deployment). Then, log into the Kubeflow UI.


Uninstall Kubeflow on AWS with a single command.

make delete
Last modified September 1, 2023: v1.7.0-aws-b1.0.3 website changes (#791) (7faf1a5)