Deployment Options

Deploy Kubeflow on AWS

Kubeflow on AWS provides its own Kubeflow manifests that support integrations with various AWS services that are highly available and scalable. This reduces the operational overhead of maintaining the Kubeflow platform.

If you want to deploy Kubeflow with minimal changes, but optimized for Amazon Elastic Kubernetes Service (Amazon EKS), then consider the vanilla deployment option. The Kubeflow control plane is installed on top of Amazon EKS, which is a managed container service used to run and scale Kubernetes applications in the cloud.

All available deployment options can be installed using Kustomize, Helm, or Terraform.

Note: Terraform deployment options are still in preview.

To take greater advantage of the distribution and make use of the AWS managed services, choose one of the following deployment options according to your organization’s requirements:


Set up your environment for deploying Kubeflow on AWS

Create an EKS Cluster

Create an EKS cluster before you deploy Kubeflow on AWS using Kustomize or Helm

Vanilla Installation

Deploy the vanilla version of Kubeflow on AWS.

RDS and S3

Deploying Kubeflow with RDS and S3


Deploying Kubeflow with AWS Cognito as identity provider

Cognito, RDS, and S3

Deploying Kubeflow with Cognito, RDS, and S3

Configure AWS S3 as a backend for storing Terraform State

Backup terraform state to AWS S3

Connect to your Kubeflow Dashboard

Start experimenting and running your end-to-end ML workflows with Kubeflow on AWS

Create Profiles with IAM role

Use AWS IAM roles for service accounts with Kubeflow Profiles

Configure Culling for Notebooks

Automatically stop your notebooks based on idleness

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