This page documents setting up and running the Arvados on Kubernetes Helm
chart on Google Kubernetes Engine
(GKE).
Install gcloud
:
Install kubectl
:
$ gcloud components install kubectl
Install helm
:
This can be done via the cloud console or via the command line:
$ gcloud container clusters create <CLUSTERNAME> --zone us-central1-a --machine-type n1-standard-2
It takes a few minutes for the cluster to be initialized.
Reserve a static IP in GCE. Make sure the IP is in the same region as your GKE cluster, and is of the “Regional” type.
Via the web:
Alternatively, use this command:
$ gcloud container clusters get-credentials <CLUSTERNAME> --zone us-central1-a --project <YOUR-PROJECT>
Test the connection:
$ kubectl get nodes
Test helm
by running
$ helm ls
There should be no errors. The command will return nothing.
Clone the repository and nagivate to the arvados-k8s/charts/arvados
directory:
$ git clone https://github.com/arvados/arvados-k8s.git $ cd arvados-k8s/charts/arvados
Next, determine the IP address that the Arvados cluster will use to expose its API, Workbench, etc. If you want this Arvados cluster to be reachable from places other than the local machine, the IP address will need to be routable as appropriate.
$ ./cert-gen.sh <IP ADDRESS>
The values.yaml
file contains a number of variables that can be modified. At a minimum, review and/or modify the values for
adminUserEmail adminUserPassword superUserSecret anonymousUserSecret
Now start the Arvados cluster:
$ helm install arvados . --set externalIP=<IP ADDRESS>
At this point, you can use kubectl to see the Arvados cluster boot:
$ kubectl get pods $ kubectl get svc
After a few minutes, there shouldn’t be any services listed with a ‘Pending’ external IP address. At that point you can access Arvados Workbench at the IP address specified
with the username and password specified in the values.yaml
file.
Alternatively, use the Arvados cli tools or SDKs. First set the environment variables:
$ export ARVADOS_API_TOKEN=<superUserSecret from values.yaml> $ export ARVADOS_API_HOST=<STATIC IP>:444 $ export ARVADOS_API_HOST_INSECURE=true
Test access with:
$ arv user current
If you make changes to the Helm chart (e.g. to values.yaml
), you can reload Arvados with
$ helm upgrade arvados .
$ helm del arvados
$ gcloud container clusters delete <CLUSTERNAME> --zone us-central1-a
The content of this documentation is licensed under the
Creative
Commons Attribution-Share Alike 3.0 United States licence.
Code samples in this documentation are licensed under the
Apache License, Version 2.0.