3 navsection: installguide
7 Copyright (C) The Arvados Authors. All rights reserved.
9 SPDX-License-Identifier: CC-BY-SA-3.0
12 This page documents setting up and running the "Arvados on Kubernetes":/install/arvados-on-kubernetes.html @Helm@ chart on @Google Kubernetes Engine@ (GKE).
14 {% include 'notebox_begin_warning' %}
15 This Helm chart does not retain any state after it is deleted. An Arvados cluster created with this Helm chart is entirely ephemeral, and all data stored on the cluster will be deleted when it is shut down. This will be fixed in a future version.
16 {% include 'notebox_end' %}
24 * Follow the instructions at "https://cloud.google.com/sdk/downloads":https://cloud.google.com/sdk/downloads
29 $ gcloud components install kubectl
34 * Follow the instructions at "https://docs.helm.sh/using_helm/#installing-helm":https://docs.helm.sh/using_helm/#installing-helm
36 h3. Create the GKE cluster
38 This can be done via the "cloud console":https://console.cloud.google.com/kubernetes/ or via the command line:
41 $ gcloud container clusters create <CLUSTERNAME> --zone us-central1-a --machine-type n1-standard-2 --cluster-version 1.15
44 It takes a few minutes for the cluster to be initialized.
46 h3. Reserve a static IP
48 Reserve a "static IP":https://console.cloud.google.com/networking/addresses in GCE. Make sure the IP is in the same region as your GKE cluster, and is of the "Regional" type.
50 h3. Connect to the GKE cluster.
53 * Click the "Connect" button next to your "GKE cluster"https://console.cloud.google.com/kubernetes/.
54 * Execute the "Command-line access" command on your development machine.
56 Alternatively, use this command:
59 $ gcloud container clusters get-credentials <CLUSTERNAME> --zone us-central1-a --project <YOUR-PROJECT>
68 Test @helm@ by running
74 There should be no errors. The command will return nothing.
76 h2(#git). Clone the repository
78 Clone the repository and nagivate to the @arvados-k8s/charts/arvados@ directory:
81 $ git clone https://github.com/arvados/arvados-k8s.git
82 $ cd arvados-k8s/charts/arvados
85 h2(#Start). Start the Arvados cluster
87 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.
90 $ ./cert-gen.sh <IP ADDRESS>
93 The @values.yaml@ file contains a number of variables that can be modified. At a minimum, review and/or modify the values for
102 Now start the Arvados cluster:
105 $ helm install arvados . --set externalIP=<IP ADDRESS>
108 At this point, you can use kubectl to see the Arvados cluster boot:
115 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
117 * https://<IP ADDRESS>
119 with the username and password specified in the @values.yaml@ file.
121 Alternatively, use the Arvados cli tools or SDKs. First set the environment variables:
124 $ export ARVADOS_API_TOKEN=<superUserSecret from values.yaml>
125 $ export ARVADOS_API_HOST=<STATIC IP>:444
126 $ export ARVADOS_API_HOST_INSECURE=true
137 If you make changes to the Helm chart (e.g. to @values.yaml@), you can reload Arvados with
140 $ helm upgrade arvados .
145 {% include 'notebox_begin_warning' %}
146 This Helm chart does not retain any state after it is deleted. An Arvados cluster created with this Helm chart is entirely ephemeral, and <strong>all data stored on the Arvados cluster will be deleted</strong> when it is shut down. This will be fixed in a future version.
147 {% include 'notebox_end' %}
154 $ gcloud container clusters delete <CLUSTERNAME> --zone us-central1-a