- Install Tekton v
0.14.0
or later - Install Kubeflow if you want to leverage the Kubeflow stack
- Clone this repository
git clone github.com/kubeflow/kfp-tekton cd kfp-tekton
-
Remove the old version of KFP from a previous Kubeflow deployment if it exists on your cluster. Also clean up the old webhooks if you were using KFP 0.4 or above.
kubectl delete -k manifests/kustomize/env/platform-agnostic kubectl delete MutatingWebhookConfiguration cache-webhook-kubeflow
-
Once the old KFP deployment is removed, run the below command to deploy this modified Kubeflow Pipeline version with Tekton backend.
kubectl apply -k manifests/kustomize/env/platform-agnostic
Check the new KFP deployment, it should take about 5 to 10 minutes.
kubectl get pods -n kubeflow
Now go ahead and access the pipeline in the Kubeflow dashboard. It should be accessible from the istio-ingressgateway which is the
<public_ip>:31380
Once you have the Kubeflow pipeline running with Tekton, then install the KFP-Tekton DSL and start building your own pipelines.
The development instructions are under the frontend directory. Below are the commands for building the frontend docker image.
cd frontend
npm run docker
The KFP backend with Tekton uses a modified version of Kubeflow Pipelines api-server, persistent agent, and metadata writer.
-
To build these two images, clone this repository under the GOPATH and rename it to
pipelines
.cd $GOPATH/src/go/github.com/kubeflow git clone github.com/kubeflow/kfp-tekton mv kfp-tekton pipelines cd pipelines
-
For local binary builds, use the
go build
commandsgo build -o apiserver ./backend/src/apiserver go build -o agent ./backend/src/agent/persistence
Note: The metadata writer is written in Python, so the code will be compiled during runtime execution.
-
For Docker builds, use the below
docker build
commandsDOCKER_REGISTRY="<fill in your docker registry here>" docker build -t ${DOCKER_REGISTRY}/api-server -f backend/Dockerfile . docker build -t ${DOCKER_REGISTRY}/persistenceagent -f backend/Dockerfile.persistenceagent . docker build -t ${DOCKER_REGISTRY}/metadata-writer -f backend/metadata_writer/Dockerfile .
-
Push the images to registry and modify the Kustomization to use your own built images.
Modify the
newName
under theimages
section inmanifests/kustomize/base/kustomization.yaml
.Now you can follow the Install Tekton KFP with pre-built images instructions to install your own KFP backend.