Zum Einrichten und Überprüfen Ihrer SaltStack Config Cloud-Instanz installieren Sie Salt und das Master-Plug-In auf Ihrem Salt-Master, generieren ein API-Token in der Cloud Services-Konsole und verbinden dann Ihren Salt-Master mit SaltStack Config Cloud. Sie können Salt-Master verbinden, die lokal oder in der Cloud vorhanden sind.
Voraussetzungen
- Vergewissern Sie sich, dass Sie über die folgenden Rollen in VMware Cloud Services verfügen:
- Organisationsrolle: Organisationsbesitzer oder Organisationsadministrator
- Dienstrolle: Salt-Master
- Stellen Sie als Standardorganisation die Organisation mit Zugriff auf den SaltStack Config Cloud-Dienst ein.
Übersicht über die Einrichtung
Das Einrichten von SaltStack Config Cloud umfasst die folgenden Aufgaben.
- Installieren Sie Salt auf Ihrem Salt-Master und den Knoten, die Sie mit SaltStack Config Cloud verwalten möchten. Weitere Informationen hierzu finden Sie unter Schritt 1: Installieren von Salt.
- Installieren Sie das Master-Plug-In oder führen Sie ein Upgrade auf den Salt-Mastern durch, die mit SaltStack Config Cloud kommunizieren müssen. Weitere Informationen hierzu finden Sie unter Schritt 2: Installieren und Konfigurieren des Master-Plug-Ins.
- Generieren Sie ein API-Token, damit Ihre Salt-Master eine Verbindung mit SaltStack Config Cloud herstellen können. Weitere Informationen hierzu finden Sie unter Schritt 3: Generieren eines API-Tokens.
- Verbinden Sie Ihre Salt-Master mit SaltStack Config Cloud. Weitere Informationen hierzu finden Sie unter Schritt 4: Verbinden Ihrer Salt-Master mit SaltStack Config Cloud.
- Akzeptieren Sie die Salt-Master-Schlüssel in der SaltStack Config Cloud-Benutzeroberfläche. Weitere Informationen hierzu finden Sie unter Schritt 5: Akzeptieren von Salt-Master-Schlüsseln.
Schritt 1: Installieren von Salt
Sie müssen den Salt-Master-Dienst und den Salt-Minion-Dienst vor der Verwendung auf dem Salt-Master-Knoten installieren.
Stellen Sie vor der Installation von Salt sicher, dass Sie die erforderlichen Salt-Abhängigkeiten installiert haben. Weitere Informationen finden Sie unter Install dependencies im Salt-Installationshandbuch.
- https://repo.saltproject.io
- https://pypi.org
- https://python.org
Mit den folgenden Anweisungen wird die neueste Salt-Version auf RHEL 8 installiert. Informationen zum Installieren von Salt auf anderen Betriebssystemen finden Sie im Salt-Installationshandbuch.
- Führen Sie im Salt-Master-Terminal die folgenden Befehle aus, um das Salt-Projekt-Repository und den Schlüssel zu installieren:
sudo rpm --import https://repo.saltproject.io/py3/redhat/8/x86_64/latest/SALTSTACK-GPG-KEY.pub curl -fsSL https://repo.saltproject.io/py3/redhat/8/x86_64/latest.repo | sudo tee /etc/yum.repos.d/salt.repo
- Führen Sie
sudo yum clean expire-cache
aus. - Installieren Sie den Salt-Minion- und den Salt-Master-Dienst auf Ihrem Salt-Master:
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 Salt-Minion-Dienst:
sudo systemctl enable salt-master && sudo systemctl start salt-master sudo systemctl enable salt-minion && sudo systemctl start salt-minion
- Legen Sie bei Verwendung eines Netzwerk-Proxys die Variablen
HTTP_PROXY
undHTTPS_PROXY
entsprechend der Netzwerkeinstellungen fest.- Wenn Sie
systemd
zum Verwalten des Salt-Master-Diensts verwenden, fügen Sie die UmgebungsvariablenHTTP_PROXY
undHTTPS_PROXY
zur Dateisalt-master.service
hinzu. - Führen Sie
systemctl daemon-reload
aus. - Führen Sie den Befehl
systemctl restart salt-master
aus, um den Salt-Master-Dienst neu zu starten.
- Wenn Sie
Schritt 2: Installieren und Konfigurieren des Master-Plug-Ins
Nachdem Sie Salt in Ihrer Infrastruktur installiert haben, müssen Sie das Master-Plug-In installieren und konfigurieren. Es ermöglicht Ihren Salt-Mastern die Kommunikation mit SaltStack Config Cloud.
Wenn Sie bereits über einen vorhandenen Salt-Master verfügen, führen Sie ein Upgrade des Master-Plug-Ins auf die aktuelle verfügbare Version durch, bevor Sie den Salt-Master mit SaltStack Config Cloud verbinden. Weitere Informationen finden Sie unter Verwenden des Arbeitsbereichs „Master-Plug-Ins“.
So installieren und konfigurieren Sie das Master-Plug-In:
- Melden Sie sich bei Ihrem Salt-Master an.
- Installieren Sie mit den folgenden Befehlen die PyJWT-Bibliothek und die Pika Python-Bibliothek auf Ihrem Salt-Master:
salt-call --local pip.install pika==1.2.0 salt-call --local pip.install pyjwt==2.3.0
- Laden Sie die aktuelle Version des Master-Plug-Ins aus dem Arbeitsbereich Master-Plug-Ins herunter.
Wichtig:
Die Version des Master-Plug-Ins muss mit der Version von SaltStack Config Cloud übereinstimmen. Die Version von SaltStack Config Cloud befindet sich im Arbeitsbereich Master-Plug-Ins.
- Installieren Sie das Master-Plug-In, indem Sie das Python-Wheel manuell installieren. Verwenden Sie den Beispielbefehl und ersetzen Sie dabei den genauen Namen der Wheel-Datei:
salt-call --local pip.install SSEAPE-file-name.whl
- Generieren Sie die Master-Konfigurationseinstellungen.
- Stellen Sie sicher, dass das
/etc/salt/master.d
-Verzeichnis vorhanden ist, oder erstellen Sie es. - Führen Sie den folgenden Befehl aus, um die Master-Konfigurationsdatei zu generieren.
sudo sseapi-config --all > /etc/salt/master.d/raas.conf
Wenn die Ausführung dieses Befehls einen Fehler verursacht, finden Sie weitere Informationen unter Fehlerbehebung von SaltStack Config Cloud.
- Stellen Sie sicher, dass das
- Starten Sie den Salt-Master-Dienst neu.
sudo systemctl restart salt-master
Schritt 3: Generieren eines API-Tokens
Bevor Sie Ihren Salt-Master mit SaltStack Config Cloud verbinden können, müssen Sie ein API-Token mithilfe der Cloud Services-Konsole generieren. Dieses Token wird zum Authentifizieren Ihres Salt-Masters mit VMware Cloud Services verwendet.
So generieren Sie ein API-Token:
- Klicken Sie auf der Symbolleiste der Cloud Services-Konsole auf Ihren Benutzernamen und wählen Sie aus.
- Klicken Sie auf Token generieren.
- Füllen Sie das Formular aus.
- Geben Sie einen Namen für das Token ein.
- Wählen Sie die Time to Live (TTL) des Tokens aus. Die Standarddauer beträgt sechs Monate.
Hinweis: Ein nicht ablaufendes Token kann ein Sicherheitsrisiko darstellen, wenn es manipuliert wird. Ist dies der Fall, müssen Sie das Token widerrufen.
- Definieren Sie Geltungsbereiche für das Token.
Geltungsbereich Beschreibung Organisationsrollen Organisationsrollen bestimmen den Zugriff eines Benutzers auf die Ressourcen der Organisation.
Um auf den SaltStack Config Cloud-Cloud-Dienst zugreifen zu können, müssen Sie die Rolle Organisationsadministrator oder Organisationsbesitzer auswählen.
Dienstrollen Dienstrollen sind integrierte, vordefinierte Berechtigungssätze, die Zugriff auf VMware Cloud Services gewähren.
Um auf den SaltStack Config Cloud Cloud-Dienst zuzugreifen, suchen Sie den SaltStack Config Cloud-Dienst und wählen Sie die Salt-Master-Dienstrolle aus.
- (Optional) Legen Sie eine E-Mail-Einstellung fest, um eine Erinnerung zu erhalten, wenn Ihr Token in Kürze abläuft.
- Klicken Sie auf Generieren.
Das neu generierte API-Token wird im Fenster Generiertes Token angezeigt.
- Speichern Sie die Token-Anmeldedaten an einem sicheren Ort.
Nachdem Sie das Token generiert haben, können Sie nur den Namen des Tokens auf der Seite API-Token sehen, aber nicht die Anmeldedaten. Um das Token erneut zu generieren, klicken Sie auf Neu generieren.
- Klicken Sie auf Weiter.
Schritt 4: Verbinden Ihrer Salt-Master mit SaltStack Config Cloud
Nachdem Sie ein API-Token generiert haben, können Sie es verwenden, um Ihren Salt-Master mit SaltStack Config Cloud zu verbinden.
So verbinden Sie Ihren Salt-Master:
- Speichern Sie im Salt-Master-Terminal Ihr API-Token als Umgebungsvariable.
export CSP_API_TOKEN=<api token value>
- Führen Sie den Befehl
sseapi-config join
aus, um Ihren Salt-Master mit SaltStack Config Cloud zu verbinden.- Wenn Sie Ihren Salt-Master zum ersten Mal mit SaltStack Config Cloud verbinden, führen Sie den folgenden Befehl aus und ersetzen Sie die Werte
ssc-url
undcsp-url
durch Ihre regionsspezifischen URLs.sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
- Wenn Sie
sudo
verwenden, führen Sie den folgenden Befehl aus:sudo CSP_API_TOKEN=<api token value> sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL>
- Wenn Sie den Verbindungsvorgang wiederholen müssen, führen Sie den Befehl
sseapi-config join
erneut aus und übergeben Sie das Flag--override-oauth-app
.sseapi-config join --ssc-url <SSC URL> --csp-url <CSP URL> --override-oauth-app
Das Flag
--override-oauth-app
löscht die OAuth-App, die zum Abrufen eines Zugriffstokens verwendet wird, und erstellt sie neu.
Tabelle 1. Regionale URLs für SaltStack Config Cloud Region SSC-URL CSP-URL US (USA) https://ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com Deutschland https://de.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com Indien https://in.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com Kanada https://ca.ssc-gateway.mgmt.cloud.vmware.com https://console.cloud.vmware.com Das folgende Codebeispiel veranschaulicht eine erfolgreiche Antwort in der Region „US“ (USA).2022-08-16 21:28:26 [INFO] SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12 2022-08-16 21:28:26 [INFO] Retrieving CSP auth token. 2022-08-16 21:28:27 [INFO] Creating new oauth app. 2022-08-16 21:28:27 [INFO] Finished with oauth app [Salt Master App for master id:my-salt-master] in org [6bh70973-b1g2-716c-6i21-i9974a6gdc85]. 2022-08-16 21:28:29 [INFO] Added service role [saltstack:master] for oauth app [Salt Master App for master id:my-salt-master]. 2022-08-16 21:28:29 [INFO] Created pillar [CSP_AUTH_TOKEN]. 2022-08-16 21:28:29 [INFO] Updated master config. Please restart master for config changes to take effect. 2022-08-16 21:28:29 [INFO] Updated master cloud.conf. 2022-08-16 21:28:29 [INFO] Validating connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com] 2022-08-16 21:28:29 [INFO] Successfully validated connectivity to SaltStack Cloud instance [https://ssc-gateway.mgmt.cloud.vmware.com]. Response: {'version': 'v8.9.0.5', 'vipVersion': '8.9.0'} 2022-08-16 21:28:29 [INFO] Finished SSEAPE joining SSC Cloud... v8.9.1.1 2022-08-16T15:28:12
Wenn die Ausführung dieses Befehls einen Fehler verursacht, finden Sie weitere Informationen unter Fehlerbehebung von SaltStack Config Cloud.
- Wenn Sie Ihren Salt-Master zum ersten Mal mit SaltStack Config Cloud verbinden, führen Sie den folgenden Befehl aus und ersetzen Sie die Werte
- Starten Sie den Salt-Master-Dienst neu.
systemctl restart salt-master
- Wiederholen Sie diesen Vorgang für jeden Salt-Master.
Hinweis: Nachdem Sie jeden Salt-Master mit SaltStack Config Cloud verbunden haben, können Sie das API-Token löschen. Es wird nur für die Verbindung Ihres Salt-Masters mit SaltStack Config Cloud benötigt.
Nachdem Sie den Befehl sseapi-config
ausgeführt haben, wird für jeden Salt-Master eine OAuth-App in Ihrer Organisation erstellt. Salt-Master verwenden die OAuth-App, um ein Zugriffstoken zu erhalten, das an jede Anforderung an SaltStack Config Cloud angehängt wird. Sie können die Details der OAuth-App anzeigen, indem Sie auswählen.
Mit dem Befehl werden auch Pfeilerdaten erstellt, die auf dem Salt-Master als CSP_AUTH_TOKEN
bezeichnet werden. Pfeiler sind Strukturen von Daten, die auf dem Salt-Master gespeichert und an ein oder mehrere Minions weitergegeben werden, die für den Zugriff auf diese Daten berechtigt sind. Die Pfeilerdaten werden in /srv/pillar/csp.sls
gespeichert und enthalten die Client-ID, den geheimen Schlüssel, Ihre Organisations-ID und die CSP-URL. Wenn Sie Ihren geheimen Schlüssel rotieren müssen, können Sie den Befehl sseapi-config join
erneut ausführen.
Beispiel für Pfeilerdaten:
CSP_AUTH_TOKEN: csp_client_id: kH8wIvNxMJEGGmk7uCx4MBfPswEw7PpLaDh csp_client_secret: ebH9iuXnZqUOkuWKwfHXPjyYc5Umpa00mI9Wx3dpEMlrUWNy95 csp_org_id: 6bh70973-b1g2-716c-6i21-i9974a6gdc85 csp_url: https://console.cloud.vmware.com
Schritt 5: Akzeptieren von Salt-Master-Schlüsseln
Nachdem Sie Ihren Salt-Master mit SaltStack Config Cloud verbunden haben, müssen Sie den Salt-Master-Schlüssel in der Benutzeroberfläche von SaltStack Config Cloud akzeptieren.
Sie müssen über die Rolle Superuser in SaltStack Config Cloud verfügen, um den Salt-Master-Schlüssel zu akzeptieren. Weitere Informationen finden Sie unter Vorgehensweise zum Definieren von Benutzerrollen.
So akzeptieren Sie den Salt-Master-Schlüssel:
- Melden Sie sich bei der SaltStack Config Cloud-Benutzeroberfläche an.
- Klicken Sie in der oberen linken Navigationsleiste auf das Menü
und wählen Sie dann Verwaltung aus, um auf den Arbeitsbereich Verwaltung zuzugreifen. Klicken Sie auf die Registerkarte Master-Schlüssel.
Wenn der Masterschlüssel nicht angezeigt wird, finden Sie weitere Informationen unter Fehlerbehandlung von SaltStack Config Cloud.
- Aktivieren Sie das Kontrollkästchen neben dem Master-Schlüssel, um ihn auszuwählen. Klicken Sie dann auf Schlüssel akzeptieren.
- Wenn Sie Ihre Salt-Minions bereits mit Ihrem Salt-Master verbunden haben, wird eine Warnung mit dem Hinweis angezeigt, dass Sie über Minion-Schlüssel verfügen, deren Akzeptierung aussteht. Um diese Minion-Schlüssel zu akzeptieren, wechseln Sie zu
- Aktivieren Sie die Kontrollkästchen neben Ihren Minions, um sie auszuwählen. Klicken Sie dann auf Schlüssel akzeptieren.
Der Schlüssel ist jetzt akzeptiert. Nach einigen Sekunden wird der Minion auf der Registerkarte Akzeptiert und im Arbeitsbereich Ziele angezeigt.
.
Sie können sicherstellen, dass Ihr Salt-Master und Ihre Salt-Minions kommunizieren, indem Sie einen test.ping-Befehl in der SaltStack Config Cloud-Benutzeroberfläche ausführen. Weitere Informationen finden Sie unter Ausführen eines Ad-hoc-Auftrags über den Arbeitsbereich „Ziele“.