Manifest Deployment Guide

Deploying Kubeflow with Amazon Cognito, RDS and S3

Note: Helm installation option is still in preview.

This guide describes how to deploy Kubeflow on Amazon EKS using Cognito for your identity provider, RDS for your database, and S3 for your artifact storage.

1. Prerequisites

Refer to the general prerequisites guide and the RDS and S3 setup guide in order to:

  1. Install the CLI tools
  2. Clone the repositories
  3. Create an EKS cluster
  4. Create an S3 Bucket
  5. Create an RDS Instance
  6. Configure AWS Secrets for RDS and S3
  7. Install AWS Secrets and Kubernetes Secrets Store CSI driver
  8. Configure an RDS endpoint and an S3 bucket name for Kubeflow Pipelines

Configure Custom Domain and Cognito

  1. Follow the Cognito setup guide from Section 1.0 (Custom domain) up to Section 3.0 (Configure ingress) in order to:
    1. Create a custom domain
    2. Create TLS certificates for the domain
    3. Create a Cognito Userpool
    4. Configure Ingress
  2. Deploy Kubeflow.
    1. Install Kubeflow using the following command:
      make deploy-kubeflow INSTALLATION_OPTION=kustomize DEPLOYMENT_OPTION=cognito-rds-s3
      make deploy-kubeflow INSTALLATION_OPTION=helm DEPLOYMENT_OPTION=cognito-rds-s3
  3. Follow the rest of the Cognito guide from section 5.0 (Updating the domain with ALB address) in order to:
    1. Add/Update the DNS records in a custom domain with the ALB address
    2. Create a user in a Cognito user pool
    3. Create a profile for the user from the user pool
    4. Connect to the central dashboard
Last modified September 21, 2022: More tf docs (#406) (35f2f553)