Enabling a replica activates most of its duplicated services and components, and instructs agents and infrastructure nodes how to communicate in a failover scenario.
Before you begin:
Back up your classifier hierarchy, because enabling a replica alters classification.
Ensure you have a valid admin RBAC token.
-
On the master, as the root user, run puppet infrastructure enable replica <REPLICA NODE NAME>, then follow the prompts to instruct Puppet how to configure your deployment.
-
Deploy updated configuration to nodes by running Puppet or waiting for the next scheduled Puppet run.
Note: If you use the direct Puppet workflow, where agents use cached catalogs, you must manually deploy the new configuration by running puppet job run --no-enforce-environment --query 'nodes {deactivated is null and expired is null}'
-
Optional: Perform any tests you feel are necessary to verify that Puppet runs continue to work during failover.
For example, to simulate an outage on the master:
-
Prevent the replica and a test node from contacting the master. For example, you might temporarily shut down the master or use iptables with drop mode.
-
Run puppet agent -t on the test node. If the replica is correctly configured, the Puppet run succeeds and shows no changed resources. Runs may take longer than normal when in failover mode.
-
Reconnect the replica and test node.
-
If you've specified any tuning parameters for your master using the console, move them to Hiera instead.
Using Hiera ensures configuration is applied to both your master and replica.