Kubeflow
Run your ML pipelines on Kubeflow Pipelines.
The ZenML Kubeflow Orchestrator allows you to run your ML pipelines on Kubeflow Pipelines without writing Kubeflow code.
Prerequisites
To use the Kubeflow Orchestrator, you'll need:
ZenML
kubeflow
integration installed (zenml integration install kubeflow
)Docker installed and running
kubectl
installed (optional, see below)A Kubernetes cluster with Kubeflow Pipelines installed (see deployment guide for your cloud provider)
A remote artifact store and container registry in your ZenML stack
A remote ZenML server deployed to the cloud
The name of your Kubernetes context pointing to the remote cluster (optional, see below)
Configuring the Orchestrator
There are two ways to configure the orchestrator:
Using a Service Connector to connect to the remote cluster (recommended for cloud-managed clusters). No local
kubectl
context needed.
Configuring
kubectl
with a context pointing to the remote cluster and settingkubernetes_context
in the orchestrator config:
Running a Pipeline
Once configured, you can run any ZenML pipeline using the Kubeflow Orchestrator:
This will create a Kubernetes pod for each step in your pipeline. You can view pipeline runs in the Kubeflow UI.
Additional Configuration
You can further configure the orchestrator using KubeflowOrchestratorSettings
:
This allows specifying client arguments, user namespace, pod affinity/tolerations, and more.
Multi-Tenancy Deployments
For multi-tenant Kubeflow deployments, specify the kubeflow_hostname
ending in /pipeline
when registering the orchestrator:
And provide the namespace, username and password in the orchestrator settings:
For more advanced options and details, refer to the full Kubeflow Orchestrator documentation.
Last updated