Install
-
Ensure the following base addons that are needed by Kaptain are enabled:
- configRepository: https://github.com/mesosphere/kubernetes-base-addons configVersion: stable-1.18-3.0.0 addonsList: - name: istio enabled: true - name: dex enabled: true - name: cert-manager enabled: true - name: prometheus enabled: true
-
Add Kaptain addon repository in your Konvoy
cluster.yaml
to install Kaptain dependencies, then follow the Konvoy documentation to deploy the addons:- configRepository: https://github.com/mesosphere/kubeaddons-kaptain configVersion: stable-1.18-0.6.0 addonsList: - name: knative enabled: true - name: kubeflow-nfs enabled: true
-
After the Konvoy cluster has been deployed (incl. Istio and Knative), install KUDO:
kubectl kudo init
-
Install Kaptain:
kubectl kudo install --instance kaptain --namespace kubeflow --create-namespace ./kubeflow-1.0.1_0.6.0.tgz
-
If you would like to inject additional annotations to Kaptain’s default gateway
kubeflow-ingressgateway
, you can pass in the service annotations as parameters:kubectl kudo install --instance kaptain --namespace kubeflow --create-namespace ./kubeflow-1.0.1_0.6.0.tgz -p kubeflowIngressGatewayServiceAnnotations='{"foo": "abc","bar": "xyz"}'
-
Monitor the installation by running:
kubectl kudo plan status --instance kaptain -n kubeflow
Once all components have been deployed, you can log in to Kaptain:
- Discover the cluster endpoint and copy it to the clipboard.
If you are running Kaptain on-premises:
Or if you are running Kaptain on AWS:kf_uri=$(kubectl get svc kubeflow-ingressgateway --namespace kubeflow -o jsonpath="{.status.loadBalancer.ingress[*].ip}") && echo "https://${kf_uri}"
kf_uri=$(kubectl get svc kubeflow-ingressgateway --namespace kubeflow -o jsonpath="{.status.loadBalancer.ingress[*].hostname}") && echo "https://${kf_uri}"
- Get the login credentials from Konvoy to authenticate:
konvoy get ops-portal
Uninstall Kaptain
- Use the following commands to uninstall Kaptain.
kubectl kudo uninstall --instance kaptain --namespace kubeflow kubectl wait --for=delete pod --selector istio=kubeflow-ingressgateway -n kubeflow --timeout=1m kubectl delete operatorversions.kudo.dev kubeflow-0.5.0 --namespace kubeflow kubectl delete operators.kudo.dev kubeflow --namespace kubeflow