[Documentation] Install guide explains a few different deployment options
Right now the Install Guide prerequisites page starts with a table of seven different nodes you must have to run an Arvados cluster. This is a good recommendation, but it gives some readers the impression that that number is more set in stone than it actually is. This story expands the documentation to better differentiate what services are required, and what their hardware requirements are.
New installation prerequisites¶
Update the table at the top of the prerequisites to spell out three tiers of requirements: required nodes, required services, and optional services.Required nodes:
- at least one compute node
- at least two Keepstore nodes
- SSO server
- API server, Websockets, Git servers, and Crunch dispatcher
- SLURM controller
- Keepproxy: Sends data to and from Keepstores on behalf of clients outside the cluster's network. Required for Workbench's file upload functionality. Can be deployed separately, or together with other required services listed above.
- Shell server: Provides a convenient location on the network for users to SSH in and run Arvados CLI client tools. You can omit this if your users can install Python and Ruby client tools on their own workstations. Should be deployed on a dedicated node as a security precaution.
- Separate the SLURM controller installation guide from the Crunch dispatcher installation guide.
- On the compute node install guide, update the link to SLURM installation instructions to this new page.
- The Crunch dispatcher installation guide should note that the dispatcher needs to be able to talk to the SLURM controller, and document the process. (I believe it's the same as the exsiting steps; the only difference is that the Crunch dispatcher won't be the host listed as the SLURM controller in the configuration.)
- At the beginning of the shell node install guide, note that a dedicated shell node is optional, but you must have the Python and Ruby SDKs installed on some machine in order to continue with the installation. Anybody who deploys without a dedicated shell node should at least install those SDKs on a machine near the cluster, and use them to continue with the installation as directed.