11453: Merge branch 'master' into 11453-federated-tokens
[arvados.git] / doc / install / install-nodemanager.html.textile.liquid
index d8ead7690bf2d0c899f6cf06717d0169d08e67d0..09c6b5cb1b8e0b84069a958902278f5d125c6457 100644 (file)
@@ -3,14 +3,19 @@ layout: default
 navsection: installguide
 title: Install Node Manager
 ...
+{% comment %}
+Copyright (C) The Arvados Authors. All rights reserved.
+
+SPDX-License-Identifier: CC-BY-SA-3.0
+{% endcomment %}
 
 Arvados Node Manager provides elastic computing for Arvados and SLURM by creating and destroying virtual machines on demand.  Node Manager currently supports Amazon Web Services (AWS), Google Cloud Platform (GCP) and Microsoft Azure.
 
-Note: node manager is only required for elastic computing cloud environments.  Fixed clusters do not require node manager.
+Note: node manager is only required for elastic computing cloud environments.  Fixed size clusters do not require node manager.
 
 h2. Install
 
-Node manager may run anywhere.  It must be able to communicate with the cluster's SLURM controller using the command line tools @sinfo@, @squeue@ and @scontrol@.
+Node manager may run anywhere, however it must be able to communicate with the cloud provider's APIs, and use the command line tools @sinfo@, @squeue@ and @scontrol@ to communicate with the cluster's SLURM controller.
 
 On Debian-based systems:
 
@@ -28,11 +33,11 @@ On Red Hat-based systems:
 
 h2. Create compute image
 
-First, create a virtual machine operating system image that will be used to
-initialize new compute nodes.  This must have @slurm@ installed with a correct
-@slurm.conf@.
+Configure a virtual machine following the "instructions to set up a compute node.":{{site.baseurl}}/install/crunch2-slurm/install-compute-node.html and set it up to run a "ping script":{{site.baseurl}}/install/install-compute-ping.html at boot.
+
+Create a virtual machine image using the commands provided by your cloud provider.  We recommend using a tool such as "Packer":https://www.packer.io/ to automate this process.
 
-Configure node manage as described below to use this compute image.
+Configure node manager to use the image with the @image@ or @image_id@ parameter.
 
 h2. Configure node manager
 
@@ -48,6 +53,16 @@ h3(#aws). Amazon Web Services
 # EC2 configuration for Arvados Node Manager.
 # All times are in seconds unless specified otherwise.
 
+[Manage]
+# The management server responds to http://addr:port/status.json with
+# a snapshot of internal state.
+
+# Management server listening address (default 127.0.0.1)
+#address = 0.0.0.0
+
+# Management server port number (default -1, server is disabled)
+#port = 8989
+
 [Daemon]
 # The dispatcher can customize the start and stop procedure for
 # cloud nodes.  For example, the SLURM dispatcher drains nodes
@@ -98,6 +113,12 @@ boot_fail_after = 1800
 # an Arvados node that hasn't been updated for this long.
 node_stale_after = 14400
 
+# Scaling factor to be applied to nodes' available RAM size. Usually there's a
+# variable discrepancy between the advertised RAM value on cloud nodes and the
+# actual amount available.
+# If not set, this value will be set to 0.95
+node_mem_scaling = 0.95
+
 # File path for Certificate Authorities
 certs_file = /etc/ssl/certs/ca-certificates.crt
 
@@ -178,6 +199,11 @@ subnet_id = idstring
 # compute node.
 security_groups = idstring1, idstring2
 
+# Apply an Instance Profile ARN to the newly created compute nodes
+# For more info, see:
+# https://aws.amazon.com/premiumsupport/knowledge-center/iam-policy-restrict-vpc/
+# ex_iamprofile = arn:aws:iam::ACCOUNTNUMBER:instance-profile/ROLENAME
+
 
 # You can define any number of Size sections to list EC2 sizes you're
 # willing to use.  The Node Manager should boot the cheapest size(s) that
@@ -207,6 +233,16 @@ h3(#gcp). Google Cloud Platform
 # Google Compute Engine configuration for Arvados Node Manager.
 # All times are in seconds unless specified otherwise.
 
+[Manage]
+# The management server responds to http://addr:port/status.json with
+# a snapshot of internal state.
+
+# Management server listening address (default 127.0.0.1)
+#address = 0.0.0.0
+
+# Management server port number (default -1, server is disabled)
+#port = 8989
+
 [Daemon]
 # Node Manager will ensure that there are at least this many nodes running at
 # all times.  If node manager needs to start new idle nodes for the purpose of
@@ -246,6 +282,12 @@ poll_stale_after = 600
 # an Arvados node that hasn't been updated for this long.
 node_stale_after = 14400
 
+# Scaling factor to be applied to nodes' available RAM size. Usually there's a
+# variable discrepancy between the advertised RAM value on cloud nodes and the
+# actual amount available.
+# If not set, this value will be set to 0.95
+node_mem_scaling = 0.95
+
 # File path for Certificate Authorities
 certs_file = /etc/ssl/certs/ca-certificates.crt
 
@@ -368,6 +410,16 @@ h3(#azure). Microsoft Azure
 # Azure configuration for Arvados Node Manager.
 # All times are in seconds unless specified otherwise.
 
+[Manage]
+# The management server responds to http://addr:port/status.json with
+# a snapshot of internal state.
+
+# Management server listening address (default 127.0.0.1)
+#address = 0.0.0.0
+
+# Management server port number (default -1, server is disabled)
+#port = 8989
+
 [Daemon]
 # The dispatcher can customize the start and stop procedure for
 # cloud nodes.  For example, the SLURM dispatcher drains nodes
@@ -418,6 +470,12 @@ boot_fail_after = 1800
 # an Arvados node that hasn't been updated for this long.
 node_stale_after = 14400
 
+# Scaling factor to be applied to nodes' available RAM size. Usually there's a
+# variable discrepancy between the advertised RAM value on cloud nodes and the
+# actual amount available.
+# If not set, this value will be set to 0.95
+node_mem_scaling = 0.95
+
 # File path for Certificate Authorities
 certs_file = /etc/ssl/certs/ca-certificates.crt