Terraform Deployment Guide
Note: Terraform deployment options are still in preview.
Background
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.
Prerequisites
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
pwd
Deployment Steps
Configure
-
Define the following environment variables:
# Region to create the cluster in export CLUSTER_REGION= # Name of the cluster to create export CLUSTER_NAME=
-
Save the variables to a
.tfvars
file:cat <<EOF > sample.auto.tfvars cluster_name="${CLUSTER_NAME}" cluster_region="${CLUSTER_REGION}" EOF
(Optional) Configure Culling for Notebooks
Enable culling for notebooks by following the instructions in configure culling for notebooks guide.
(Recommended) Configure AWS S3 to backup Terraform state
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.
Preview
View a preview of the configuration you are about apply:
terraform init && terraform plan
Apply
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.
Cleanup
Uninstall Kubeflow on AWS with a single command.
make delete