Skip to main content
If you wish to deploy ZenML on clouds other than AWS, Azure and GCP or on any other resource like a serverless platform or an on-prem Kubernetes cluster, you have two options:
  • Using a Docker container.
  • Using the Helm chart.

Using Helm

The ZenML repository hosts a Helm chart that can be used to deploy to Kubernetes. This chart is not hosted on an online repository yet and so you can follow the steps below:
  • Clone the zenml-io/zenml repository.
  • Go into the directory that hosts the chart.
  • Take a look at the values.yaml file to configure settings for your ZenML deployment. Make sure you have a MySQL database to use with the server and fill the zenml.database map with its values.
  • Once everything is configured, you can now run the following command to create a release.
You will need to have an existing Kubernetes cluster and kubectl installed and configured, in addition to having helm itself.

Connecting to deployed ZenML

Once ZenML is deployed, one or multiple users can connect to with the zenml connect command. If no arguments are supplied, ZenML will attempt to connect to the last ZenML server deployed from the local host using the zenml deploy command:

ZenML Connect: Various options

To connect to a ZenML server, you can either pass the configuration as command line arguments or as a YAML file:
or
The YAML file should have the following structure when connecting to a ZenML server:
Example of a ZenML server YAML configuration file:
Both options can be combined, in which case the command line arguments will override the values in the YAML file. For example, it is possible and recommended that you supply the password only as a command line argument:
To disconnect from the current ZenML server and revert to using the local default database, use the following command: