Salt ist für die Durchführung der SaltStack Config-Installation erforderlich. Salt und seine Abhängigkeiten müssen zumindest auf den Knoten installiert werden, die in ein Standard-SaltStack Config-Installationsszenario involviert sind.
Es wird dringend empfohlen, Salt im Voraus in jeder Infrastruktur zu installieren, die Sie mit SaltStack Config verwalten möchten. Die Installation von Salt vereinfacht und optimiert den Vorgang der Aktualisierung auf zukünftige Versionen von Salt. Bevor Sie mit der Installation von SaltStack Config beginnen, sollten Sie Salt in Ihrer Infrastruktur installieren und es dann für einen bestimmten Zeitraum überwachen, um sicherzustellen, dass es stabil und erwartungsgemäß ausgeführt wird.
Lesen Sie sich diese Handbücher durch, um sicherzustellen, dass Ihre Umgebung den Best Practices bei der Implementierung von Salt in Ihre Infrastruktur folgt:
Um Ihre Maschinen auf eine Standardinstallation von SaltStack Config vorzubereiten, müssen Sie Salt und Python installieren oder aktualisieren. Salt und Python müssen auf allen Knoten, die an der Installation beteiligt sind, vorhanden und aktualisiert sein. Die Installation schlägt fehl, wenn Salt und die Abhängigkeiten des Installationsprogramms nicht auf Ihren Knoten installiert sind.
Installieren von Salt-Abhängigkeiten
Diese Abhängigkeiten müssen auf allen Knoten installiert werden, die an der Installation beteiligt sind. In einer Standardinstallation müssen Sie diese Abhängigkeiten auf allen Knoten installieren, die den Salt-Master, RaaS, die Redis-Datenbank und die PostgreSQL-Datenbank hosten:
- OpenSSL
- Zusätzliche Pakete für Enterprise Linux (EPEL)
- Python-Kryptografie
- Python OpenSSL-Bibliothek
So überprüfen Sie, ob diese Abhängigkeiten vorhanden sind:
- Stellen Sie im Terminal sicher, dass diese Abhängigkeiten auf jedem Knoten installiert sind:
sudo yum list installed | grep openssl sudo yum list installed | grep epel-release sudo yum list installed | grep python36-cryptography sudo yum list installed | grep python36-pyOpenSSL
- Wenn die Abhängigkeiten nicht vorhanden sind, installieren Sie sie:
sudo yum install openssl sudo yum install epel-release -y sudo yum install python36-cryptography sudo yum install python36-pyOpenSSL
Vorsicht:Stellen Sie sicher, dass Sie das
python36-pyOpenSSL
-Paket installieren. Es ist erforderlich, SSL nach der Installation zu konfigurieren, aber dieser Schritt muss vor der Installation abgeschlossen sein.
Installieren von Salt auf dem/den Salt-Master(n)
Bei einer Standardinstallation müssen Sie sowohl den Salt-Master- als auch den Minion-Dienst auf dem Salt-Master-Host installieren.
firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
firewall-cmd --reload
- Installieren Sie das Salt-Projekt-Repository und den entsprechenden Schlüssel:
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
- Leeren Sie den Zwischenspeicher:
sudo yum clean expire-cache
- Installieren Sie den Salt-Master- und den Minion-Dienst auf dem Salt-Master-Knoten:
sudo yum install salt-master sudo yum install salt-minion
- Erstellen Sie eine
master.conf
-Datei im Verzeichnis/etc/salt/minion.d
. Legen Sie in dieser Datei die IP-Adresse des Salt-Masters so fest, dass sie auf sich selbst verweist:master: localhost
- Starten Sie den Salt-Master- und den Minion-Dienst:
sudo systemctl start salt-master sudo systemctl enable salt-minion sudo systemctl start salt-minion
Starten Sie die Minions bei Bedarf mit
service salt-minion restart
neu.
Installieren von Salt auf den Salt-Minions
Nach der Installation von Salt auf dem Salt-Master, wie im vorherigen Abschnitt beschrieben, besteht der nächste Schritt in der Installation des Minion-Dienstes (nicht des Master-Dienstes) auf den drei Knoten, die zum RaaS, zur Redis-Datenbank und zur PostgreSQL-Datenbank werden.
Anschließend müssen Sie die Minions für die Kommunikation mit dem Salt-Master konfigurieren. Weitere Informationen zum Installieren des Minion-Dienstes finden Sie unter Minion-Konfiguration in der Salt-Dokumentation.
So installieren Sie den Minion-Dienst:
- Installieren Sie nur den Minion-Dienst. Führen Sie dazu den folgenden Befehl aus:
sudo yum install salt-minion
- Beantworten Sie alle Eingabeaufforderungen mit
y
, um alle Änderungen anzunehmen. - Konfigurieren Sie jeden Minion für die Kommunikation mit dem Salt-Master durch die entsprechende Erstellung einer
master.conf
-Datei im Verzeichnis/etc/salt/minion.d
. Geben Sie in dieser Datei die IP-Adresse des Salt-Masters an. Beispiel:master: 192.0.2.1
- Starten Sie den Minion-Dienst:
sudo systemctl enable salt-minion sudo systemctl start salt-minion
Starten Sie die Minions bei Bedarf mit
servicesalt-minionrestart
neu. - Wiederholen Sie die vorherigen Schritte für alle verbleibenden Knoten.
Akzeptieren Sie die Minion-Schlüssel auf dem/den Master(n)
Zu diesem Zeitpunkt haben Sie den Salt-Master- und den Minion-Dienst installiert und Ihre Minions mit der IP-Adresse des Salt-Masters bereitgestellt. Damit der Salt-Master nun Befehle an die Minions senden kann, müssen Sie im nächsten Schritt die Minion-Schlüssel auf dem Salt-Master akzeptieren.
Bevor Sie fortfahren:
- Stellen Sie sicher, dass der Salt-Master-Dienst aktiviert und gestartet ist.
- Stellen Sie sicher, dass der Minion auf allen Knoten aktiviert und gestartet ist.
So werden die Schlüssel akzeptiert:
- Führen Sie auf dem Salt-Master-Terminal alle Schlüssel auf, die sich auf dem Salt-Master befinden:
salt-key -L
- Stellen Sie sicher, dass alle Minion-IDs in
Unacceptedkeys
aufgeführt sind.Wenn die Minion-IDs in
Acceptedkeys
angezeigt werden, sind keine weiteren Aktionen erforderlich, da dies das Endziel ist. - Akzeptieren Sie jede Minion-ID mithilfe des folgenden Befehls und ersetzen Sie „<your-minion-id>“ durch die ID aus Ihrem Netzwerk:
salt-key -a <your-minion-ID>
Durch Ausführen von
salt-key-A
werden alle Schlüssel akzeptiert. - Beantworten Sie alle Eingabeaufforderungen mit
y
. - Führen Sie den
salt-key-L
Befehl ein zweites Mal aus, um zu bestätigen, dass alle Minions inAcceptedkeys
angezeigt werden.
Installieren von Salt in einem Air-Gap-System
Eine Ausnahme von der allgemeinen Empfehlung, Salt vorab zu installieren, stellt die Installation von SaltStack Config in einem Air-Gap-System dar. Beachten Sie, dass bei der Installation von Salt in Ihrer Infrastruktur auf einem Air-Gap-System Kompromisse eingegangen werden müssen.
Das SaltStack Config-Installationsprogramm kann die neueste stabile Salt-Version während der Ausführung installieren. Die vom Installationsprogramm installierte Salt-Version wird als SaltStack Config Salt Crystal-Paket bezeichnet. Dieses Paket ist in erster Linie für die Verwendung in Air-Gap-Systemen vorgesehen, bei denen es nicht möglich ist, Salt über das Internet zu aktualisieren. Da es für die Verwendung in Air-Gap-Systemen vorgesehen ist, kann die Salt-Version im Salt Crystal-Paket nicht über das Internet aktualisiert werden. Die Aktualisierung muss stattdessen manuell erfolgen. Informationen zum Aktualisieren des Salt Crystal-Pakets finden Sie unter Upgrading Salt Crystal.
Die fehlende Möglichkeit einer regelmäßigen Aktualisierung von Salt über das Internet kann für Ihr Netzwerk problematisch werden, es sei denn, es handelt sich bei Ihrem Netzwerk um ein Air-Gap-Netzwerk. Aus diesem Grund wird nachdrücklich empfohlen, Salt im Voraus zu installieren, anstatt das Salt Crystal-Paket zu nutzen.