Installation

Note

Orchest is in beta.

We provide three installation paths, installation through:

Prerequisites

To use Orchest you will need a Kubernetes (k8s) cluster. Any cluster should work, you can either pick a managed service by one of the certified cloud platforms or create a cluster locally using minikube.

Note

💡 We recommend to install Orchest on a clean cluster to prevent it clashing with existing cluster-level resources. Do make sure that, no matter the cluster you choose, the ingress controller is configured.

Setting up a minikube cluster

First, make sure you install minikube. Next, create your cluster:

# Create a minikube cluster.
minikube start --cpus=4

# Enable the ingress addon
minikube addons enable ingress

Tip

We provide a convenienent end-to-end installation script for a complete minikube deployment. Taking care of installing minikube, installing the orchest-cli and installing Orchest, run it with:

curl -fsSL https://raw.githubusercontent.com/orchest/orchest/master/scripts/convenience_install.sh > convenience_install.sh
bash convenience_install.sh

Install orchest via orchest-cli

pip install orchest-cli
orchest install

Now the cluster can be reached on the IP returned by:

minikube ip

Tip

🎉 Now that you have installed Orchest, be sure to check out the quickstart tutorial.

Installing using an FQDN

If you would rather reach Orchest using a Fully Qualified Domain Name (FQDN) instead of using the cluster’s IP directly, you can install Orchest using:

orchest install --fqdn="localorchest.io"

Next, make Orchest reachable through your FQDN reachable from the browser:

# Set up the default Fully Qualified Domain Name (FQDN) in your
# /etc/hosts so that you can reach Orchest locally.
echo "$(minikube ip)\tlocalorchest.io" >> /etc/hosts

Install orchest via kubectl

Tip

We recommend using the orchest-cli for installing and managing your Orchest Clusters.

The code snippet below will install Orchest in the orchest namespace. In case you want to install in another namespace you can use tools like yq to change the specified namespace in orchest-controller.yaml.

# Get the latest available Orchest version
export VERSION=$(curl \
   "https://update-info.orchest.io/api/orchest/update-info/v3?version=None&is_cloud=False" \
   | grep -oP "v\d+\.\d+\.\d+")

# Create the namespace to install Orchest in
kubectl create ns orchest

# Deploy the Orchest Operator
kubectl apply \
  -f "https://github.com/orchest/orchest/releases/download/${VERSION}/orchest-controller.yaml"

# Apply an OrchestCluster Custom Resource
kubectl apply \
  -f "https://github.com/orchest/orchest/releases/download/${VERSION}/example-orchestcluster.yaml"

In case you want to configure the Orchest Cluster, you can patch the created OrchestCluster.

Closing notes

Authentication is disabled by default after installation. Check out the Orchest settings to learn how to enable it.