Kubernetes
Learn how to deploy ZenML pipelines on a Kubernetes cluster.
The ZenML Kubernetes Orchestrator allows you to run your ML pipelines on a Kubernetes cluster without writing Kubernetes code. It's a lightweight alternative to more complex orchestrators like Airflow or Kubeflow.
If you only want to run individual steps of your pipeline in Kubernetes, check out our Kubernetes Step Operator.
Prerequisites
To use the Kubernetes Orchestrator, you'll need:
ZenML
kubernetes
integration installed (zenml integration install kubernetes
)Docker installed and running
kubectl
installedA remote artifact store and container registry in your ZenML stack
A deployed Kubernetes cluster
A configured
kubectl
context pointing to the cluster (optional, see below)
Deploying the Orchestrator
The Kubernetes orchestrator requires a Kubernetes cluster in order to run. There are many ways to deploy a Kubernetes cluster using different cloud providers or on your custom infrastructure, and we can't possibly cover all of them, but you can check out our cloud guide.
Configuring the Orchestrator
There are two ways to configure the orchestrator:
Using a Service Connector to connect to the remote cluster. This is the recommended approach, especially for cloud-managed clusters. No local
kubectl
context is needed.
Configuring
kubectl
with a context pointing to the remote cluster and setting thekubernetes_context
in the orchestrator config:
Running a Pipeline
Once configured, you can run any ZenML pipeline using the Kubernetes Orchestrator:
This will create a Kubernetes pod for each step in your pipeline. You can interact with the pods using kubectl
commands.
For more advanced configuration options and additional details, refer to the full Kubernetes Orchestrator documentation.
Last updated