Merge branch '16349-non-utc-timestamps'
[arvados.git] / doc / install / arvados-on-kubernetes-minikube.html.textile.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Arvados on Minikube
5 ...
6 {% comment %}
7 Copyright (C) The Arvados Authors. All rights reserved.
8
9 SPDX-License-Identifier: CC-BY-SA-3.0
10 {% endcomment %}
11
12 This page documents setting up and running the "Arvados on Kubernetes":/install/arvados-on-kubernetes.html @Helm@ chart on @Minikube@.
13
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' %}
17
18 h2. Prerequisites
19
20 h3. Install tooling
21
22 Install @kubectl@:
23
24 * Follow the instructions at "https://kubernetes.io/docs/tasks/tools/install-kubectl/":https://kubernetes.io/docs/tasks/tools/install-kubectl/
25
26 Install @helm@:
27
28 * Follow the instructions at "https://docs.helm.sh/using_helm/#installing-helm":https://docs.helm.sh/using_helm/#installing-helm
29
30 h3. Install Minikube
31
32 Follow the instructions at "https://kubernetes.io/docs/setup/minikube/":https://kubernetes.io/docs/setup/minikube/
33
34 Test the connection:
35
36 <pre>
37 $ kubectl get nodes
38 </pre>
39
40 Test @helm@ by running
41
42 <pre>
43 $ helm ls
44 </pre>
45
46 There should be no errors. The command will return nothing.
47
48 h2(#git). Clone the repository
49
50 Clone the repository and nagivate to the @arvados-kubernetes/charts/arvados@ directory:
51
52 <pre>
53 $ git clone https://github.com/arvados/arvados-kubernetes.git
54 $ cd arvados-kubernetes/charts/arvados
55 </pre>
56
57 h2(#Start). Start the Arvados cluster
58
59 All Arvados services will be accessible on Minikube's IP address. This will be a local IP address, you can see what it is by running
60
61 <pre>
62 $ minikube ip
63 192.168.39.15
64 </pre>
65
66 Generate self-signed SSL certificates for the Arvados services:
67
68 <pre>
69 $ ./cert-gen.sh `minikube ip`
70 </pre>
71
72 The @values.yaml@ file contains a number of variables that can be modified. At a minimum, review and/or modify the values for
73
74 <pre>
75   adminUserEmail
76   adminUserPassword
77   superUserSecret
78   anonymousUserSecret
79 </pre>
80
81 Now start the Arvados cluster:
82
83 <pre>
84 $ helm install arvados . --set externalIP=`minikube ip`
85 </pre>
86
87 And update the Kubernetes services to have the Minikube IP as their 'external' IP:
88
89 <pre>
90 $ ./minikube-external-ip.sh
91 </pre>
92
93 At this point, you can use kubectl to see the Arvados cluster boot:
94
95 <pre>
96 $ kubectl get pods
97 $ kubectl get svc
98 </pre>
99
100 After a few minutes, you can access Arvados Workbench at the Minikube IP address:
101
102 * https://&lt;MINIKUBE IP&gt;
103
104 with the username and password specified in the @values.yaml@ file.
105
106 Alternatively, use the Arvados cli tools or SDKs. First set the environment variables:
107
108 <pre>
109 $ export ARVADOS_API_TOKEN=<superUserSecret from values.yaml>
110 $ export ARVADOS_API_HOST=<MINIKUBE IP>:444
111 $ export ARVADOS_API_HOST_INSECURE=true
112 </pre>
113
114 Test access with:
115
116 <pre>
117 $ arv user current
118 </pre>
119
120 h2(#reload). Reload
121
122 If you make changes to the Helm chart (e.g. to @values.yaml@), you can reload Arvados with
123
124 <pre>
125 $ helm upgrade arvados .
126 </pre>
127
128 h2. Shut down
129
130 {% include 'notebox_begin_warning' %}
131 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.
132 {% include 'notebox_end' %}
133
134 <pre>
135 $ helm del arvados
136 </pre>