Managing agent communication in multi-region installations
Typically, when you enable a replica by using puppet
infrastructure enable replica
or puppet infrastructure
provision replica --enable
, the configuration tool automatically sets the same
communication parameters for all agents. In multi-region installations, with load
balancers or compilers in multiple locations, you must manually configure agent communication
settings so that agents fail over to the appropriate load balancer or compiler.
To skip automatically configuring which Puppet servers and
PCP brokers agents communicate with, use the --skip-agent-config
flag when you provision and enable a
replica, for example:
puppet infrastructure provision replica example.puppet.com --enable --skip-agent-config
To manually configure which load balancer or compiler agents communicate with, use one of these options:
- CSR attributes
- For each node, include a CSR attribute that identifies the
location of the node, for example
pp_region
orpp_datacenter
. - Create child groups off of the PE Agent node group for each location.
- In each child node group, include the
puppet_enterprise::profile::agent
class and set theserver_list
parameter to the appropriate load balancer or compiler hostname. - In each child node group, add a rule that uses the trusted fact created from the CSR attribute.
- For each node, include a CSR attribute that identifies the
location of the node, for example
- Hiera
For each node or group of nodes, create a key/value pair that sets the
puppet_enterprise::profile::agent::server_list
parameter to be used by the PE Agent node group. - Custom method that sets the
server_list
parameter inpuppet.conf
.