This Helm repository contains charts for deploying Kubeflow on Kubernetes. Follow the steps below to add this repository and start deploying Kubeflow.
helm repo add kromanow94-kubeflow https://kromanow94.github.io/kubeflow-manifests
helm search repo kromanow94-kubeflow
To install the kubeflow chart:
helm install kubeflow kromanow94-kubeflow/kubeflow
For a quick and easy start, use one of the available quickstart script.
This script will create 'kubeflow' namespace configured with istio
injection and install helm releases for each kubeflow dependency and
kubeflow itself.
This script will also install the Helm Releases for each dependency in
the correct order and will wait until the dependencies are ready.
kind create cluster
curl -qs https://raw.githubusercontent.com/kromanow94/kubeflow-manifests/kubeflow-0.2.0/example/helm/quickstart.helm.sh | bash
nohup kubectl -n istio-ingress port-forward service/istio-ingressgateway 8080:80 &
This script installs ArgoCD, configures it for health assessment required for using sync-waves for ArgoCD Apps, and deploys an App of Apps manifest for Kubeflow and its dependencies.
kind create cluster
curl -qs https://raw.githubusercontent.com/kromanow94/kubeflow-manifests/kubeflow-0.2.0/example/helm/quickstart.argocd.sh | bash
nohup kubectl -n istio-ingress port-forward service/istio-ingressgateway 8080:80 &
This script installs ArgoCD, configures it for health assessment required for using sync-waves for ArgoCD Apps, and deploys an App of Apps manifest for Kubeflow and its dependencies.
kind create cluster
curl -qs https://raw.githubusercontent.com/kromanow94/kubeflow-manifests/kubeflow-0.2.0/example/helm/quickstart.app-of-apps.sh | bash
nohup kubectl -n istio-ingress port-forward service/istio-ingressgateway 8080:80 &
This script is for reference only and will not work out of the box.
Also, it assumes the script is run from a locally cloned git repository.
'kubeflow' and 'oauth2-proxy' Helm Charts needs to be parameterized for
AWS IAM OIDC Issuer to enable access through M2M Service Account Tokens.
For required parameterization, please see the following files and
replace 'https://oidc.eks.
with
your AWS IAM OIDC Issuer URL.
example/helm/values.kubeflow.eks.yaml
example/helm/values.oauth2-proxy.eks.yaml
$ OIDC_ISSUER_URL=https://oidc.eks..amazonaws.com/id/1234567890
$ grep -Rl 'https://oidc.eks..amazonaws.com/id/1234567890' --exclude 'quickstart*' | xargs sed "s;https://oidc.eks..amazonaws.com/id/1234567890;\$OIDC_ISSUER_URL;g" -i
After completing the installation, use the following commands to verify your setup and perform initial configuration:
curl localhost:8080/api/workgroup/exists -H "Authorization: Bearer $(kubectl -n kubeflow-user-example-com create token default-editor)"
curl -XPOST localhost:8080/pipeline/apis/v1beta1/experiments -H "Authorization: Bearer $(kubectl -n kubeflow-user-example-com create token default-editor)" -d '{"name": "m2m-experiment", "resource_references": [{"key": {"id": "kubeflow-user-example-com", "type": "NAMESPACE"}, "relationship": "OWNER"}]}'
curl "localhost:8080/pipeline/apis/v1beta1/experiments?resource_reference_key.type=NAMESPACE&resource_reference_key.id=kubeflow-user-example-com" -H "Authorization: Bearer $(kubectl -n kubeflow-user-example-com create token default-editor)"
For more detailed instructions and additional charts, visit our GitHub repository.