Installation steps:
Note: In order to keep it simple, Kubernetes namespace kfops
is used
throughout the documentation. You can use different namespace name but remember
to change your commands accordingly.
Install required tools
Install Helm using Helm install documentation.
Get code and create Kubernetes namespace
Git clone Kfops repository on your local machine and cd
into cloned repository
In your Kubernetes cluster, create namespace kfops
: kubectl create namespace kfops
Install Argo Events
In this step you install Argo events and event bus that manages kfops
namespace.
Recommended method is Argo Events namespaced installation.
Notice that in namespaced installation, Argo Events are installed in argo-events
namespace but manage and listen in kfops
namespace.
Follow "namespaced installation" documentation
and adapt eventbus-controller
, eventsource-controller
and sensor-controller
manifests to manage kfops
namespace.
(Simply set --managed-namespace
to kfops
similarly as explained in
Argo Events manages namespace documentation).
Note: for GKE and Openshift, follow additional steps from the argo events installation.
Next install EventBus in kfops
namespace:
kubectl apply -f \
https://raw.githubusercontent.com/argoproj/argo-events/stable/examples/eventbus/native.yaml \
--namespace kfops
Create required secrets
Setup your SCM (Source Code Management) system API token.
Notice: Currently only Github is supported. Steps below present the setup for Github.
In order to setup Github API Token, refer to Github documentation how to create GITHUB API Token. On the "Edit personal access token" page select "repo" scope. Take note of the username who created the token, it will be used later.
Create secret to store your access token
kubectl create secret generic scm-access-webhook-token \
--namespace kfops --from-literal=token="<TOKEN>"
Replace <TOKEN>
is your token created in previous step.
Setup access to MinIO in kfops namespace:
kubectl create secret generic mlpipeline-minio-artifact \
--namespace kfops \
--from-literal=accesskey="<MINIO ACCESS KEY>" \
--from-literal=secretkey="<MINIO SECRET KEY>"
If you didn't change it while deploying Kubeflow, by default MinIO access key is minio
and secret key minio123
.
Setup and install helm chart
Requires Helm version >=3. Check Helm documentation for details.
Note: Because project is still in alpha stage. The kfops helm chart isn't published but installed directly from the repo.
Steps:
-
Create file
./cluster_setup/values_override.yaml
with content copied from./cluster_setup/kfops/values.yaml
-
Adapt
./cluster_setup/values_override.yaml
. For details refer to Helm chart values page. -
Install argo-events subchart:
helm dependency update ./cluster_setup/kfops
-
Install chart (Notice: uour CWD should be root of the cloned repository):
helm install kfops -f ./cluster_setup/values_override.yaml \
./cluster_setup/kfops \
--namespace kfops
Note: If you make changes in your values_override.yaml
file, you can update them on the
cluster using Helm upgrade command:
helm upgrade kfops -f ./cluster_setup/values_override.yaml \
./cluster_setup/kfops \
--namespace kfops
Notice: Once helm command is applied, the argo events installation component will automatically
set repository's webhooks (e.g. in Github you can check it in repository's Settings
-> Webhooks
).