fix(provision): add multi hosts installation examples
[arvados.git] / doc / install / salt-multi-host.html.textile.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Multi host Arvados
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 # "Install Saltstack":#saltstack
13 # "Install dependencies":#dependencies
14 # "Install Arvados using Saltstack":#saltstack
15 # "DNS configuration":#final_steps
16 # "Initial user and login":#initial_user
17
18 h2(#saltstack). Install Saltstack
19
20 If you already have a Saltstack environment you can skip this section.
21
22 The simplest way to get Salt up and running on a node is to use the bootstrap script they provide:
23
24 <notextile>
25 <pre><code>curl -L https://bootstrap.saltstack.com -o /tmp/bootstrap_salt.sh
26 sudo sh /tmp/bootstrap_salt.sh -XUdfP -x python3
27 </code></pre>
28 </notextile>
29
30 For more information check "Saltstack's documentation":https://docs.saltstack.com/en/latest/topics/installation/index.html
31
32 h2(#dependencies). Install dependencies
33
34 Arvados depends in a few applications and packages (postgresql, nginx+passenger, ruby) that can also be installed using their respective Saltstack formulas.
35
36 The formulas we use are:
37
38 * "postgres":https://github.com/saltstack-formulas/postgres-formula.git
39 * "nginx":https://github.com/saltstack-formulas/nginx-formula.git
40 * "docker":https://github.com/saltstack-formulas/docker-formula.git
41 * "locale":https://github.com/saltstack-formulas/locale-formula.git
42 * "letsencrypt":https://github.com/saltstack-formulas/letsencrypt-formula.git
43
44 There are example Salt pillar files for each of those formulas in the "arvados-formula's test/salt/pillar/examples":https://github.com/arvados/arvados-formula/tree/master/test/salt/pillar/examples directory. As they are, they allow you to get all the main Arvados components up and running.
45
46 h2(#saltstack). Install Arvados using Saltstack
47
48 This is a package-based installation method. The Salt scripts are available from the "tools/salt-install":https://github.com/arvados/arvados/tree/master/tools/salt-install directory in the Arvados git repository.
49
50 The Arvados formula we maintain is located in Arvados' Github account and should be considered the canonical place to download its most up-to-date version:
51
52 * "arvados-formula":https://github.com/arvados/arvados-formula.git
53
54 As the Saltstack's community keeps a "repository of formulas":https://github.com/saltstack-formulas/ in Github, we also provide
55
56 * "a copy of the formula":https://github.com/saltstack-formulas/arvados-formula.git
57
58 there, and do our best effort to keep it in sync with ours.
59
60 For those familiar with Saltstack, the process to get Arvados deployed is similar to any other formula:
61
62 1. Fork/copy the formula to your Salt master host.
63 2. Edit the Arvados, nginx, postgres, locale and docker pillars to match your desired configuration.
64 3. Run a @state.apply@ to get it deployed.
65
66 h2(#final_steps). DNS configuration
67
68 After the setup is done, you need to set up your DNS to be able to access the cluster's nodes.
69
70 The simplest way to do this is to add entries in the @/etc/hosts@ file of every host:
71
72 <notextile>
73 <pre><code>export CLUSTER="arva2"
74 export DOMAIN="arv.local"
75
76 echo A.B.C.a  api ${CLUSTER}.${DOMAIN} api.${CLUSTER}.${DOMAIN} >> /etc/hosts
77 echo A.B.C.b  keep keep.${CLUSTER}.${DOMAIN} >> /etc/hosts
78 echo A.B.C.c  keep0 keep0.${CLUSTER}.${DOMAIN} >> /etc/hosts
79 echo A.B.C.d  collections collections.${CLUSTER}.${DOMAIN} >> /etc/hosts
80 echo A.B.C.e  download download.${CLUSTER}.${DOMAIN} >> /etc/hosts
81 echo A.B.C.f  ws ws.${CLUSTER}.${DOMAIN} >> /etc/hosts
82 echo A.B.C.g  workbench workbench.${CLUSTER}.${DOMAIN} >> /etc/hosts
83 echo A.B.C.h  workbench2 workbench2.${CLUSTER}.${DOMAIN}" >> /etc/hosts
84 </code></pre>
85 </notextile>
86
87 Replacing in each case de @A.B.C.x@ IP with the corresponding IP of the node.
88
89 If your infrastructure uses another DNS service setup, add the corresponding entries accordingly.
90
91 h2(#initial_user). Initial user and login
92
93 At this point you should be able to log into the Arvados cluster.
94
95 If you did not change the defaults, the initial URL will be:
96
97 * https://workbench.arva2.arv.local
98
99 or, in general, the url format will be:
100
101 * https://workbench.@<cluster>.<domain>@
102
103 By default, the provision script creates an initial user for testing purposes. This user is configured as administrator of the newly created cluster.
104
105 Assuming you didn't change the defaults, the initial credentials are:
106
107 * User: 'admin'
108 * Password: 'password'
109 * Email: 'admin@arva2.arv.local'