Install Deis Workflow on Google Compute Engine

Check Your Setup

First check that the helm command is available and the version is v2.5.0 or newer.

$ helm version
Client: &version.Version{SemVer:"v2.5.0", GitCommit:"012cb0ac1a1b2f888144ef5a67b8dab6c2d45be6", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.5.0", GitCommit:"012cb0ac1a1b2f888144ef5a67b8dab6c2d45be6", GitTreeState:"clean"}

Ensure the kubectl client is installed and can connect to your Kubernetes cluster.

Add the Deis Chart Repository

The Deis Chart Repository contains everything needed to install Deis Workflow onto a Kubernetes cluster, with a single helm install deis/workflow --namespace deis command.

Add this repository to Helm:

$ helm repo add deis https://charts.deis.com/workflow

Install Deis Workflow

Now that Helm is installed and the repository has been added, install Workflow by running:

$ helm install deis/workflow --namespace deis

If you are using RBAC:

$ helm install deis/workflow --namespace deis --set global.use_rbac=true

Helm will install a variety of Kubernetes resources in the deis namespace. Wait for the pods that Helm launched to be ready. Monitor their status by running:

$ kubectl --namespace=deis get pods

If it's preferred to have kubectl automatically update as the pod states change, run (type Ctrl-C to stop the watch):

$ kubectl --namespace=deis get pods -w

Depending on the order in which the Workflow components initialize, some pods may restart. This is common during the installation: if a component's dependencies are not yet available, that component will exit and Kubernetes will automatically restart it.

Here, it can be seen that the controller, builder and registry all took a few loops before they were able to start:

$ kubectl --namespace=deis get pods
NAME                          READY     STATUS    RESTARTS   AGE
deis-builder-hy3xv            1/1       Running   5          5m
deis-controller-g3cu8         1/1       Running   5          5m
deis-database-rad1o           1/1       Running   0          5m
deis-logger-fluentd-1v8uk     1/1       Running   0          5m
deis-logger-fluentd-esm60     1/1       Running   0          5m
deis-logger-sm8b3             1/1       Running   0          5m
deis-minio-4ww3t              1/1       Running   0          5m
deis-registry-asozo           1/1       Running   1          5m
deis-router-k1ond             1/1       Running   0          5m
deis-workflow-manager-68nu6   1/1       Running   0          5m

Once all of the pods are in the READY state, Deis Workflow is up and running!

Next, configure dns so you can register your first user and deploy an application.