diff --git a/README.md b/README.md index 3fd1fdcc58..e74d408b8d 100644 --- a/README.md +++ b/README.md @@ -1,260 +1,15 @@ # Kubeflow Manifests -## Kubeflow on AWS Table of Contents - - -- [Provisioning AWS Resources](#provisioning-aws-resources) - - [Create EKS Cluster](#create-eks-cluster) - - [Create S3 Bucket](#create-s3-bucket) - - [Create RDS Instance](#create-rds-instance) -- [Installation](#installation) - - [Prerequisites](#prerequisties) - - [Base installation via `kfctl`](#base-installation-via-kfctl) - - [Base installation via `kustomize`](#base-installation-via-kustomize) - - [Kubeflow Pipelines with RDS and S3](#kubeflow-pipelines-with-rds-and-s3) - - [Katib with RDS](#katib-with-rds) - - -## Provisioning AWS Resources - -### Create EKS Cluster - -Run this command to create an EKS cluster by changing `` and `` to your preferred settings. More details about cluster creation via `eksctl` can be found [here](https://eksctl.io/usage/creating-and-managing-clusters/). - -``` -export CLUSTER_NAME= -export CLUSTER_REGION= - -eksctl create cluster \ ---name ${CLUSTER_NAME} \ ---version 1.19 \ ---region ${CLUSTER_REGION} \ ---nodegroup-name linux-nodes \ ---node-type m5.xlarge \ ---nodes 2 \ ---nodes-min 1 \ ---nodes-max 4 \ ---managed -``` -### Create S3 Bucket - -Run this command to create S3 bucket by changing `` and ` -export CLUSTER_REGION= -aws s3 mb s3://$S3_BUCKET --region $CLUSTER_REGION -``` - -### Create RDS Instance - -Follow this [doc](https://www.kubeflow.org/docs/distributions/aws/customizing-aws/rds/#deploy-amazon-rds-mysql) to set up an AWS RDS instance. - - -## Installation - -Below is the process to install the basic necessary components to run kubeflow on AWS. The installation can be further integrated with the desired AWS resources by following the following resource specific guides. - -### Prerequisties - -- Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl) -- Install and configure the AWS Command Line Interface (AWS CLI): - - Install the [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html). - - Configure the AWS CLI by running the following command: `aws configure`. - - Enter your Access Keys ([Access Key ID and Secret Access Key](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)). - - Enter your preferred AWS Region and default output options. -- Install [eksctl](https://github.com/weaveworks/eksctl) -- Create an EKS cluster by following the instructions [here](#create-eks-cluster) - -### Base installation via `kfctl` - -1. Install `kfctl`. Download the kfctl v1.2.0 release from the [Kubeflow releases page](https://github.com/kubeflow/kfctl/releases/tag/v1.2.0). - -2. Unpack the tar ball and add the current working directory to your shell’s path to simplify use of `kfctl`. - -``` -tar -xvf kfctl_v1.2.0_.tar.gz -export PATH=$PATH:$PWD -``` - -3. Create a folder for the kubeflow installation manifests with the same name as your cluster. -``` -export CLUSTER_NAME= -mkdir ${CLUSTER_NAME} -``` - -4. Copy the `kfctl_aws.v1.3.0.yaml` to the folder you created -``` -cp /distributions/kfdef/kfctl_aws.v1.3.0.yaml ${CLUSTER_NAME}/ -``` - -5. Go to the installation folder and update `kfctl_aws.v1.3.0.yaml` with the proper `clusterName` and `name` values. -``` -cd ${CLUSTER_NAME} -// update kfctl_aws.v1.3.0.yaml with your editor of choice -``` - -- For example, if your cluster name is `kubeflow-aws-demo` and the cluster region is `us-west-2` append the following fields to your manifest as follows: - -```yml -apiVersion: kfdef.apps.kubeflow.org/v1 -kind: KfDef -metadata: - annotations: - kfctl.kubeflow.io/force-delete: "false" - clusterName: kubeflow-aws-demo.us-west-2.eksctl.io # Append cluster name - creationTimestamp: null - name: kubeflow-aws-demo # Append name - namespace: kubeflow -spec: - - ... - -``` - - -6. Install kubeflow using `kfctl` -``` -kfctl apply -V -f kfctl_aws.v1.3.0.yaml -``` - -### Base installation via `kustomize` - -1. Install kustomize. Installation instructions for your platform can be found here: https://kubectl.docs.kubernetes.io/installation/kustomize/ - -2. Follow the steps at [Install with a single command](#install-with-a-single-command) to install kubeflow. - -### Kubeflow Pipelines with RDS and S3 - -Make sure you have followed the steps at [Create RDS Instance](#create-rds-instance) to prepare your RDS MySQL database for integration with Kubeflow Pipelines. - -Make sure you have also followed the steps at [Create S3 Bucket](#create-s3-bucket) to prepare your S3 for integration with Kubeflow Pipelines. - -1. Go to the pipelines manifest directory `/apps/pipeline/upstream/env/aws` -``` -cd /apps/pipeline/upstream/env/aws/ -``` - -2. Configure `params.env` with the RDS endpoint URL, S3 bucket name, and S3 bucket region that were configured when following the steps in [Create RDS Instance](#create-rds-instance) and [Create S3 Bucket](#create-s3-bucket). - -- For example if your RDS endpoint URL is `rm12abc4krxxxxx.xxxxxxxxxxxx.us-west-2.rds.amazonaws.com`, S3 bucket name is `kf-aws-demo-bucket`, and s3 bucket region is `us-west-2` your `params.env` file should look like: - -``` -dbHost=rm12abc4krxxxxx.xxxxxxxxxxxx.us-west-2.rds.amazonaws.com - -bucketName=kf-aws-demo-bucket -minioServiceHost=s3.amazonaws.com -minioServiceRegion=us-west-2 -``` - -3. Configure `secret.env` with your RDS database username and password that were configured when following the steps in [Create RDS Instance](#create-rds-instance). - -- For example if your username is `admin` and your password is `Kubefl0w` then your `secret.env` file should look like: - -``` -username=admin -password=Kubefl0w -``` - -4. Configure `minio-artifact-secret-patch.env` with your AWS credentials. - -Find more details about configuring/getting your AWS credentials here: -https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html - -``` -accesskey=AXXXXXXXXXXXXXXXXXX6 -secretkey=eXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXq -``` - -5. [Single-user only] Apply the cluster-scoped-resources manifest. - -``` -cd /apps/pipeline/upstream/env/aws/ -kubectl apply -k ../../cluster-scoped-resources -# If upper one action got failed, e.x. you used wrong value, try delete, fix and apply again -# kubectl delete -k ../../cluster-scoped-resources - -kubectl wait crd/applications.app.k8s.io --for condition=established --timeout=60s -``` - -6. [Multi-user only] Make the following change to the kustomization file `/apps/pipeline/upstream/env/aws/kustomization.yaml`. - -```yml -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: kubeflow -bases: -- ../../env/platform-agnostic-multi-user # CHANGE THIS LINE from ../../env/platform-agnostic to this -configMapGenerator: -- name: pipeline-install-config - env: params.env - behavior: merge -- name: workflow-controller-configmap - behavior: replace - files: - - config -- name: ml-pipeline-ui-configmap - behavior: replace - files: - - viewer-pod-template.json -secretGenerator: -- name: mysql-secret - env: secret.env - behavior: merge -- name: mlpipeline-minio-artifact - env: minio-artifact-secret-patch.env - behavior: merge -generatorOptions: - disableNameSuffixHash: true -patchesStrategicMerge: -- aws-configuration-patch.yaml -# Identifier for application manager to apply ownerReference. -# The ownerReference ensures the resources get garbage collected -# when application is deleted. -commonLabels: - application-crd-id: kubeflow-pipelines -``` - -7. Install KFP. - -``` -cd /apps/pipeline/upstream/env/aws/ -kubectl apply -k ./ -# If upper one action got failed, e.x. you used wrong value, try delete, fix and apply again -# kubectl delete -k ./ -``` -### Katib with RDS - -Make sure you have followed the steps at [Create RDS Instance](#create-rds-instance) to prepare your RDS MySQL database for integration with Kubeflow Pipelines. - -1. Go to the katib manifests directory for external databases `apps/katib/upstream/installs/katib-external-db` -``` -cd /apps/katib/upstream/installs/katib-external-db -``` - -2. Configure `secrets.env` with the RDS DB name, RDS endpoint URL, RDS DB port, and RDS DB credentials that were configured when following the steps in [Create RDS Instance](#create-rds-instance). - -- For example if your database name is `KubeflowRDS`, your endpoint URL is `rm12abc4krxxxxx.xxxxxxxxxxxx.us-west-2.rds.amazonaws.com`, your DB port is `3306`, your DB username is `admin`, and your DB password is `Kubefl0w` your `secrets.env` file should look like: -``` -KATIB_MYSQL_DB_DATABASE=KubeflowRDS1 -KATIB_MYSQL_DB_HOST=rm12abc4krxxxxx.xxxxxxxxxxxx.us-west-2.rds.amazonaws.com -KATIB_MYSQL_DB_PORT=3306 -DB_USER=admin -DB_PASSWORD=Kubefl0w -``` - - -2. Install -``` -cd /apps/katib/upstream/installs/katib-external-db -kubectl apply -k ./ -``` ## Kubeflow Generic Table of Contents - [Overview](#overview) - [Kubeflow components versions](#kubeflow-components-versions) +- [Provisioning AWS Resources](#provisioning-aws-resources) + - [Create EKS Cluster](#create-eks-cluster) + - [Create S3 Bucket](#create-s3-bucket) + - [Create RDS Instance](#create-rds-instance) - [Installation](#installation) * [Prerequisites](#prerequisites) * [Install with a single command](#install-with-a-single-command) @@ -266,6 +21,8 @@ kubectl apply -k ./ ## Overview +TODO: change overview + This repo is owned by the [Manifests Working Group](https://github.com/kubeflow/community/blob/master/wg-manifests/charter.md). If you are a contributor authoring or editing the packages please see [Best Practices](./docs/KustomizeBestPractices.md). @@ -306,6 +63,41 @@ This repo periodically syncs all official Kubeflow components from their respect | KFServing | apps/kfserving/upstream | [e189a510121c09f764f749143b80f6ee6baaf48b (release-0.5)](https://github.com/kubeflow/kfserving/tree/e189a510121c09f764f749143b80f6ee6baaf48b/config) | | Kubeflow Pipelines | apps/pipeline/upstream | [1.5.1](https://github.com/kubeflow/pipelines/tree/1.5.1/manifests/kustomize) | | Kubeflow Tekton Pipelines | apps/kfp-tekton/upstream | [v0.8.0](https://github.com/kubeflow/kfp-tekton/tree/v0.8.0/manifests/kustomize) | + +## Provisioning AWS Resources + +### Create EKS Cluster + +Run this command to create an EKS cluster by changing `` and `` to your preferred settings. More details about cluster creation via `eksctl` can be found [here](https://eksctl.io/usage/creating-and-managing-clusters/). + +``` +export CLUSTER_NAME= +export CLUSTER_REGION= + +eksctl create cluster \ +--name ${CLUSTER_NAME} \ +--version 1.19 \ +--region ${CLUSTER_REGION} \ +--nodegroup-name linux-nodes \ +--node-type m5.xlarge \ +--nodes 2 \ +--nodes-min 1 \ +--nodes-max 4 \ +--managed +``` +### Create S3 Bucket + +Run this command to create S3 bucket by changing `` and ` +export CLUSTER_REGION= +aws s3 mb s3://$S3_BUCKET --region $CLUSTER_REGION +``` + +### Create RDS Instance + +Follow this [doc](https://www.kubeflow.org/docs/distributions/aws/customizing-aws/rds/#deploy-amazon-rds-mysql) to set up an AWS RDS instance. ## Installation Starting Kubeflow 1.3, the Manifests WG provides two options for installing Kubeflow official components and common services with kustomize. The aim is to help end users install easily and to help distribution owners build their opinionated distributions from a tested starting point: @@ -334,18 +126,69 @@ The `example` directory contains an example kustomization for the single command --- -### Install with a single command +### Base install with a single command You can install all Kubeflow official components (residing under `apps`) and all common services (residing under `common`) using the following command: ```sh -while ! kustomize build example | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done +while ! kustomize build examples/base-install | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done +``` + +Once, everything is installed successfully, you can access the Kubeflow Central Dashboard [by logging in to your cluster](#connect-to-your-kubeflow-cluster). + +Congratulations! You can now start experimenting and running your end-to-end ML workflows with Kubeflow. + +### AWS install with a single command + +Similar to [the single command base installation](#base-install-with-a-single-command) the AWS install configures the Kubeflow official components to integrate with supported AWS services. + +The following sections show how to configure the respective Kubeflow components: +- [Kubeflow Pipelines](#kubeflow-pipelines-with-rds-and-s3) +- [Katib](#katib-with-rds) + + +Once configured, install using the following command: + +```sh +while ! kustomize build examples/aws-install | kubectl apply -f -; do echo "Retrying to apply resources"; sleep 10; done ``` Once, everything is installed successfully, you can access the Kubeflow Central Dashboard [by logging in to your cluster](#connect-to-your-kubeflow-cluster). Congratulations! You can now start experimenting and running your end-to-end ML workflows with Kubeflow. +### Uninstall + +If Kubeflow was installed by following a single command installation Kubeflow can be uninstalled by running the respective commands +#### Base uninstall with a single command +```sh +kustomize build examples/base-install | kubectl delete -f - +``` + +#### AWS uninstall with a single command +```sh +kustomize build examples/aws-install | kubectl delete -f - +``` + +Individual components can usually be uninstalled by following: + +```sh +kustomize build | kubectl delete -f - +``` + +Warning: This command may delete the `kubeflow` namespace depending on the Kustomization manifest of the component. + +Additionally, the following cleanup steps may be required: + +```sh +kubectl delete mutatingwebhookconfigurations.admissionregistration.k8s.io webhook.eventing.knative.dev webhook.istio.networking.internal.knative.dev webhook.serving.knative.dev + +kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io config.webhook.eventing.knative.dev config.webhook.istio.networking.internal.knative.dev config.webhook.serving.knative.dev + +kubectl delete endpoints -n default mxnet-operator pytorch-operator tf-operator +``` + + ### Install individual components In this section, we will install each Kubeflow official component (under `apps`) and each common service (under `common`) separately, using just `kubectl` and `kustomize`. @@ -450,6 +293,57 @@ Install istio resources: ```sh kustomize build common/istio-1-9/kubeflow-istio-resources/base | kubectl apply -f - ``` +#### Kubeflow Pipelines with RDS and S3 + +Make sure you have followed the steps at [Create RDS Instance](#create-rds-instance) to prepare your RDS MySQL database for integration with Kubeflow Pipelines. + +Make sure you have also followed the steps at [Create S3 Bucket](#create-s3-bucket) to prepare your S3 for integration with Kubeflow Pipelines. + +1. Go to the pipelines manifest directory `/apps/pipeline/upstream/env/aws` +``` +cd /apps/pipeline/upstream/env/aws/ +``` + +2. Configure `params.env` with the RDS endpoint URL, S3 bucket name, and S3 bucket region that were configured when following the steps in [Create RDS Instance](#create-rds-instance) and [Create S3 Bucket](#create-s3-bucket). + +- For example if your RDS endpoint URL is `rm12abc4krxxxxx.xxxxxxxxxxxx.us-west-2.rds.amazonaws.com`, S3 bucket name is `kf-aws-demo-bucket`, and s3 bucket region is `us-west-2` your `params.env` file should look like: + +``` +dbHost=rm12abc4krxxxxx.xxxxxxxxxxxx.us-west-2.rds.amazonaws.com + +bucketName=kf-aws-demo-bucket +minioServiceHost=s3.amazonaws.com +minioServiceRegion=us-west-2 +``` + +3. Configure `secret.env` with your RDS database username and password that were configured when following the steps in [Create RDS Instance](#create-rds-instance). + +- For example if your username is `admin` and your password is `Kubefl0w` then your `secret.env` file should look like: + +``` +username=admin +password=Kubefl0w +``` + +4. Configure `minio-artifact-secret-patch.env` with your AWS credentials. + +Find more details about configuring/getting your AWS credentials here: +https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html + +``` +accesskey=AXXXXXXXXXXXXXXXXXX6 +secretkey=eXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXq +``` + +5. [Single component installation] Install + +``` +cd +kustomize build apps/pipeline/upstream/env/aws/ | kubectl apply -f - + +# If upper one action got failed, e.x. you used wrong value, try delete, fix and apply again +kustomize build apps/pipeline/upstream/env/aws/ | kubectl delete -f - +``` #### Kubeflow Pipelines @@ -493,7 +387,31 @@ Install the KFServing official Kubeflow component: ```sh kustomize build apps/kfserving/upstream/overlays/kubeflow | kubectl apply -f - ``` +#### Katib with RDS + +Make sure you have followed the steps at [Create RDS Instance](#create-rds-instance) to prepare your RDS MySQL database for integration with Kubeflow Pipelines. +1. Go to the katib manifests directory `apps/katib/upstream/installs/katib-external-db-with-kubeflow` +``` +cd /apps/katib/upstream/installs/katib-external-db +``` + +2. Configure `secrets.env` with the RDS DB name, RDS endpoint URL, RDS DB port, and RDS DB credentials that were configured when following the steps in [Create RDS Instance](#create-rds-instance). + +- For example if your database name is `KubeflowRDS`, your endpoint URL is `rm12abc4krxxxxx.xxxxxxxxxxxx.us-west-2.rds.amazonaws.com`, your DB port is `3306`, your DB username is `admin`, and your DB password is `Kubefl0w` your `secrets.env` file should look like: +``` +KATIB_MYSQL_DB_DATABASE=KubeflowRDS1 +KATIB_MYSQL_DB_HOST=rm12abc4krxxxxx.xxxxxxxxxxxx.us-west-2.rds.amazonaws.com +KATIB_MYSQL_DB_PORT=3306 +DB_USER=admin +DB_PASSWORD=Kubefl0w +``` + +3. [Single component installation] Install +``` +cd +kustomize build /apps/katib/upstream/installs/katib-external-db-with-kubeflow | kubectl apply -f - +``` #### Katib Install the Katib official Kubeflow component: diff --git a/apps/katib/upstream/installs/katib-external-db-with-kubeflow/db-manager-patch.yaml b/apps/katib/upstream/installs/katib-external-db-with-kubeflow/db-manager-patch.yaml new file mode 100644 index 0000000000..da37112ace --- /dev/null +++ b/apps/katib/upstream/installs/katib-external-db-with-kubeflow/db-manager-patch.yaml @@ -0,0 +1,38 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: katib-db-manager + namespace: kubeflow +spec: + template: + spec: + containers: + - name: katib-db-manager + env: + - name: DB_NAME + value: mysql + - name: DB_USER + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: DB_USER + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: DB_PASSWORD + - name: KATIB_MYSQL_DB_DATABASE + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: KATIB_MYSQL_DB_DATABASE + - name: KATIB_MYSQL_DB_HOST + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: KATIB_MYSQL_DB_HOST + - name: KATIB_MYSQL_DB_PORT + valueFrom: + secretKeyRef: + name: katib-mysql-secrets + key: KATIB_MYSQL_DB_PORT diff --git a/apps/katib/upstream/installs/katib-external-db-with-kubeflow/kustomization.yaml b/apps/katib/upstream/installs/katib-external-db-with-kubeflow/kustomization.yaml new file mode 100644 index 0000000000..8b7bbbd33b --- /dev/null +++ b/apps/katib/upstream/installs/katib-external-db-with-kubeflow/kustomization.yaml @@ -0,0 +1,13 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: kubeflow +bases: + - ../katib-with-kubeflow +patchesStrategicMerge: + - db-manager-patch.yaml +# Modify katib-mysql-secrets with parameters for the DB. +secretGenerator: + - name: katib-mysql-secrets + behavior: replace + envs: + - secrets.env diff --git a/apps/katib/upstream/installs/katib-external-db-with-kubeflow/secrets.env b/apps/katib/upstream/installs/katib-external-db-with-kubeflow/secrets.env new file mode 100644 index 0000000000..d9b31a9d22 --- /dev/null +++ b/apps/katib/upstream/installs/katib-external-db-with-kubeflow/secrets.env @@ -0,0 +1,5 @@ +KATIB_MYSQL_DB_DATABASE= +KATIB_MYSQL_DB_HOST= +KATIB_MYSQL_DB_PORT= +DB_USER= +DB_PASSWORD= diff --git a/example/kustomization.yaml b/example/kustomization.yaml deleted file mode 100644 index 70229e3b16..0000000000 --- a/example/kustomization.yaml +++ /dev/null @@ -1,62 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: -# Cert-Manager -- ../common/cert-manager/cert-manager/base -- ../common/cert-manager/kubeflow-issuer/base -# Istio -- ../common/istio-1-9/istio-crds/base -- ../common/istio-1-9/istio-namespace/base -- ../common/istio-1-9/istio-install/base -# OIDC Authservice -- ../common/oidc-authservice/base -# Dex -- ../common/dex/overlays/istio -# KNative -- ../common/knative/knative-serving/base -- ../common/knative/knative-eventing/base -- ../common/istio-1-9/cluster-local-gateway/base -# Kubeflow namespace -- ../common/kubeflow-namespace/base -# Kubeflow Roles -- ../common/kubeflow-roles/base -# Kubeflow Istio Resources -- ../common/istio-1-9/kubeflow-istio-resources/base - - -# Kubeflow Pipelines -- ../apps/pipeline/upstream/env/platform-agnostic-multi-user -# KFServing -- ../apps/kfserving/upstream/overlays/kubeflow -# Katib -- ../apps/katib/upstream/installs/katib-with-kubeflow -# Central Dashboard -- ../apps/centraldashboard/upstream/overlays/istio -# Admission Webhook -- ../apps/admission-webhook/upstream/overlays/cert-manager -# Notebook Controller -- ../apps/jupyter/jupyter-web-app/upstream/overlays/istio -# Jupyter Web App -- ../apps/jupyter/notebook-controller/upstream/overlays/kubeflow -# Profiles + KFAM -- ../apps/profiles/upstream/overlays/kubeflow -# Volumes Web App -- ../apps/volumes-web-app/upstream/overlays/istio -# Tensorboards Web App -- ../apps/tensorboard/tensorboard-controller/upstream/overlays/kubeflow -# Tensorboard Controller -- ../apps/tensorboard/tensorboards-web-app/upstream/overlays/istio -# TFJob Operator -- ../apps/tf-training/upstream/overlays/kubeflow -# Pytorch Operator -- ../apps/pytorch-job/upstream/overlays/kubeflow -# MPI Operator -- ../apps/mpi-job/upstream/overlays/kubeflow -# MXNet Operator -- ../apps/mxnet-job/upstream/overlays/kubeflow -# XGBoost Operator -- ../apps/xgboost-job/upstream/overlays/kubeflow - -# User namespace -- ../common/user-namespace/base diff --git a/examples/aws-install/kustomization.yaml b/examples/aws-install/kustomization.yaml new file mode 100644 index 0000000000..55862bc934 --- /dev/null +++ b/examples/aws-install/kustomization.yaml @@ -0,0 +1,66 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +# Cert-Manager +- ../../common/cert-manager/cert-manager/base +- ../../common/cert-manager/kubeflow-issuer/base +# Istio +- ../../common/istio-1-9/istio-crds/base +- ../../common/istio-1-9/istio-namespace/base +- ../../common/istio-1-9/istio-install/base +# OIDC Authservice +- ../../common/oidc-authservice/base +# Dex +- ../../common/dex/overlays/istio +# KNative +- ../../common/knative/knative-serving/base +- ../../common/knative/knative-eventing/base +- ../../common/istio-1-9/cluster-local-gateway/base +# Kubeflow namespace +- ../../common/kubeflow-namespace/base +# Kubeflow Roles +- ../../common/kubeflow-roles/base +# Kubeflow Istio Resources +- ../../common/istio-1-9/kubeflow-istio-resources/base + + +# KFServing +- ../../apps/kfserving/upstream/overlays/kubeflow +# Central Dashboard +- ../../apps/centraldashboard/upstream/overlays/istio +# Admission Webhook +- ../../apps/admission-webhook/upstream/overlays/cert-manager +# Notebook Controller +- ../../apps/jupyter/jupyter-web-app/upstream/overlays/istio +# Jupyter Web App +- ../../apps/jupyter/notebook-controller/upstream/overlays/kubeflow +# Profiles + KFAM +- ../../apps/profiles/upstream/overlays/kubeflow +# Volumes Web App +- ../../apps/volumes-web-app/upstream/overlays/istio +# Tensorboards Web App +- ../../apps/tensorboard/tensorboard-controller/upstream/overlays/kubeflow +# Tensorboard Controller +- ../../apps/tensorboard/tensorboards-web-app/upstream/overlays/istio +# TFJob Operator +- ../../apps/tf-training/upstream/overlays/kubeflow +# Pytorch Operator +- ../../apps/pytorch-job/upstream/overlays/kubeflow +# MPI Operator +- ../../apps/mpi-job/upstream/overlays/kubeflow +# MXNet Operator +- ../../apps/mxnet-job/upstream/overlays/kubeflow +# XGBoost Operator +- ../../apps/xgboost-job/upstream/overlays/kubeflow + +# User namespace +- ../../common/user-namespace/base + + +# Configured for AWS RDS and AWS S3 + +# Kubeflow Pipelines +- ../../apps/pipeline/upstream/env/aws +# Katib +- ../../apps/katib/upstream/installs/katib-external-db-with-kubeflow \ No newline at end of file diff --git a/examples/base-install/kustomization.yaml b/examples/base-install/kustomization.yaml new file mode 100644 index 0000000000..654b875a66 --- /dev/null +++ b/examples/base-install/kustomization.yaml @@ -0,0 +1,62 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: +# Cert-Manager +- ../../common/cert-manager/cert-manager/base +- ../../common/cert-manager/kubeflow-issuer/base +# Istio +- ../../common/istio-1-9/istio-crds/base +- ../../common/istio-1-9/istio-namespace/base +- ../../common/istio-1-9/istio-install/base +# OIDC Authservice +- ../../common/oidc-authservice/base +# Dex +- ../../common/dex/overlays/istio +# KNative +- ../../common/knative/knative-serving/base +- ../../common/knative/knative-eventing/base +- ../../common/istio-1-9/cluster-local-gateway/base +# Kubeflow namespace +- ../../common/kubeflow-namespace/base +# Kubeflow Roles +- ../../common/kubeflow-roles/base +# Kubeflow Istio Resources +- ../../common/istio-1-9/kubeflow-istio-resources/base + + +# Kubeflow Pipelines +- ../../apps/pipeline/upstream/env/platform-agnostic-multi-user +# KFServing +- ../../apps/kfserving/upstream/overlays/kubeflow +# Katib +- ../../apps/katib/upstream/installs/katib-with-kubeflow +# Central Dashboard +- ../../apps/centraldashboard/upstream/overlays/istio +# Admission Webhook +- ../../apps/admission-webhook/upstream/overlays/cert-manager +# Notebook Controller +- ../../apps/jupyter/jupyter-web-app/upstream/overlays/istio +# Jupyter Web App +- ../../apps/jupyter/notebook-controller/upstream/overlays/kubeflow +# Profiles + KFAM +- ../../apps/profiles/upstream/overlays/kubeflow +# Volumes Web App +- ../../apps/volumes-web-app/upstream/overlays/istio +# Tensorboards Web App +- ../../apps/tensorboard/tensorboard-controller/upstream/overlays/kubeflow +# Tensorboard Controller +- ../../apps/tensorboard/tensorboards-web-app/upstream/overlays/istio +# TFJob Operator +- ../../apps/tf-training/upstream/overlays/kubeflow +# Pytorch Operator +- ../../apps/pytorch-job/upstream/overlays/kubeflow +# MPI Operator +- ../../apps/mpi-job/upstream/overlays/kubeflow +# MXNet Operator +- ../../apps/mxnet-job/upstream/overlays/kubeflow +# XGBoost Operator +- ../../apps/xgboost-job/upstream/overlays/kubeflow + +# User namespace +- ../../common/user-namespace/base