SaltStack Multi-Master HA Setup for SSE
Some users of SaltStack Enterprise will want to setup a multi-master environment, in which separate hosts are established as Salt Masters, SaltStack Enterprise servers, Redis servers, and PostgreSQL servers. The following guide will describe how to deploy a SaltStack Enterprise Multi-Node HA System.
Part 1: Setup and Configure Basic Environment
The following nodes will need to be created: two Salt masters, two SaltStack Enterprise Servers (RaaS heads), a Redis Server, and a PostgreSQL Server.
SSE-Master01
SSE-Master02
SSE-PGSQL01
SSE-RAAS01
SSE-RAAS02
SSE-Redis01
Step 1: Install and Configure the Salt Master on SSE-Master01 and SSE-Master02
a. On both SSE-Master01
and SSE-Master02
, import the SaltStack GPG Key:
b. On both SSE-Master01
and SSE-Master02
, create the SaltStack repo file:
c. On both SSE-Master01
and SSE-Master02
, clean the yum expire-cache:
d. On both SSE-Master01
and SSE-Master02
, install the Salt Master:
e. Enable and Start the Salt Master on SSE-Master01
:
f. Retrieve the Salt Keypair Generated by Starting the Salt Master on SSE-Master01
g. Enable and Start the Salt Master on SSE-Master02
:
Step 2: Install and Configure the Salt Minion on SSE-Master01 and SSE-Master02
a. On both SSE-Master01
and SSE-Master02
, install the Salt Minion:
b. Set the Minion ID on SSE-Master01
:
c. Set the Minion ID on SSE-Master02
:
d. Set the Salt Master Configuration on both SSE-Master01
and SSE-Master02
:
e. Enable and Start the Salt Minion on SSE-Master01
and SSE-Master02
:
f. Accept the Salt Keys for Minions SSE-Master01
and SSE-Master02
from both Masters:
g. Verify that both minions are responding to both masters via test.ping
:
h. As an additional exercise, observe the message bus of both Salt masters while performing a test.ping
. Execute the following command from a separate terminal window for each master to observe Salt events in real time:
Execute the following command from your original terminal window for each master. Note that each Salt Minion responds to the Salt Master that published the event:
Step 3: Install and Configure the Salt Minion on SSE-PGSQL01, SSE-RAAS01, SSE-RAAS02, and SSE-Redis01
a. On SSE-PGSQL01
, SSE-RAAS01
, SSE-RAAS02
, and SSE-Redis01
, import the SaltStack GPG Key:
b. On SSE-PGSQL01
, SSE-RAAS01
, SSE-RAAS02
, and SSE-Redis01
, create the SaltStack repo file:
c. On SSE-PGSQL01
, SSE-RAAS01
, SSE-RAAS02
, and SSE-Redis01
, clean the yum expire-cache:
d. On SSE-PGSQL01
, SSE-RAAS01
, SSE-RAAS02
, and SSE-Redis01
, install the Salt Minion:
e. Set the Minion ID on SSE-PGSQL01
:
f. Set the Minion ID on SSE-RAAS01
:
g. Set the Minion ID on SSE-RAAS02
:
h. Set the Minion ID on SSE-Redis01
:
i. Set the Salt Master Configuration on SSE-PGSQL01
, SSE-RAAS01
, SSE-RAAS02
, and SSE-Redis01
:
j. Enable and Start the Salt Minion on SSE-PGSQL01
, SSE-RAAS01
, SSE-RAAS02
, and SSE-Redis01
:
k. Accept the Salt Keys for Minions SSE-Master01
and SSE-Master02
from both Masters:
l. Validate that All Minions are Responding to both Masters:
Step 4: Install SaltStack Enterprise
Using the instructions from https://enterprise.saltstack.com, download the SSE Installer and follow the Multi Node guide from the "Use the Installer" section in the documentation.