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:

  1. 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
  2. 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.

Mit diesen Anweisungen wird die neueste Salt-Version auf Redhat/Centos 7 PY3 installiert. Wenn auf Ihrer Maschine ein anderes Betriebssystem oder eine andere Version von Python ausgeführt wird, funktioniert das Skript nicht. Informationen zum Installieren von Salt auf anderen Betriebssystemen oder Python-Versionen finden Sie unter SaltStack-Paket-Repository.
Hinweis: Centos 7 blockiert standardmäßig Verbindungen zum Salt-Master. Sie müssen Firewallregeln erstellen, um Konnektivität zuzulassen:
  • firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
  • firewall-cmd --reload
Weitere Informationen finden Sie unter Opening the Firewall up for Salt.
  1. 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
  2. Leeren Sie den Zwischenspeicher:
    sudo yum clean expire-cache
  3. Installieren Sie den Salt-Master- und den Minion-Dienst auf dem Salt-Master-Knoten:
    sudo yum install salt-master
    sudo yum install salt-minion
  4. 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
  5. 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:

  1. Installieren Sie nur den Minion-Dienst. Führen Sie dazu den folgenden Befehl aus:
    sudo yum install salt-minion
  2. Beantworten Sie alle Eingabeaufforderungen mit y, um alle Änderungen anzunehmen.
  3. 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
  4. 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.

  5. 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:

  1. Führen Sie auf dem Salt-Master-Terminal alle Schlüssel auf, die sich auf dem Salt-Master befinden:
    salt-key -L
  2. 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.

  3. 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.

  4. Beantworten Sie alle Eingabeaufforderungen mit y.
  5. Führen Sie den salt-key-L Befehl ein zweites Mal aus, um zu bestätigen, dass alle Minions in Acceptedkeys 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.