Das Ziel dieses Anwendungsfalls besteht darin, den Salt-Minion-Dienst programmgesteuert auf einem Minion zu installieren, indem eine Windows-VM mit Ihrer SaltStack Config Cloud-Umgebung verbunden wird.
Voraussetzungen
Vor dem Bereitstellen eines Minions mithilfe der API in einer Windows-Umgebung müssen Sie über Folgendes verfügen:
- Eine SaltStack Config Cloud-Umgebung mit bereitgestelltem RaaS.
- Einen installierter Salt-Master und ein installiertes Salt-Minion.
- Eine bereitgestellte Windows-VM.
Prozedur
- Stellen Sie sicher, dass der Ordner etc/salt/cloud.deploy.d auf dem Salt-Master diese Dateien enthält.
Wenn die Dateien nicht angezeigt werden, wenden Sie sich an den Support.
Hinweis: „xxxx“ im Dateinamen, wie z. B. „
salt-xxxx-windows--x86.tar.gz
“, sollte mit der Version des Salt-Masters übereinstimmen. Um die Version des Salt-Masters zu überprüfen, führen Sie den Befehl
salt-master -V auf dem Salt-Master aus.
- Installieren Sie im Salt-Master-Terminal die folgenden Bibliotheken, indem Sie die Befehle
pip3 install pypsexec smbprotocol
und pip3 install impacket --ignore-installed
ausführen.
- Führen Sie zum Identifizieren des FQDN des Salt-Masters den Befehl
salt saltmaster grains.get fqdn
im Salt-Master-Terminal aus.
- Überprüfen Sie auf Ihrem Windows-Computer, ob die Datei C: \Windows\System32\drivers\etc\hosts mit der IP-Adresse und dem FQDN des Salt-Masters konfiguriert ist.
- Öffnen Sie PowerShell auf dem Windows-Computer und führen Sie diesen Befehl aus, um die erforderlichen Ports zu öffnen:
Port |
Befehle |
445 |
New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445 Enable-Psremoting |
- Verwenden Sie im Salt-Master-Terminal den folgenden Befehl, um die Ports 4505 und 4506 auf dem Salt-Master zu öffnen:
Port |
Befehle |
4505–4506 |
netsh advfirewall firewall add rule name="Salt" dir=in action=allow protocol=TCP localport=4505-4506 |
Weitere Informationen zum Salt-Kommunikationsmodell finden Sie unter Grundlegendes zu SaltStack.
- Stellen Sie sicher, dass der FQDN für den Salt-Master konfiguriert ist, indem Sie den Befehl ping [FQDN] auf Ihrem Windows-Computer ausführen.
- Führen Sie diesen API-Aufruf mithilfe eines SSEAPI-Clients mit den korrekten Anmeldedaten für Ihre Umgebung durch.
Hinweis: Wenn Sie
SaltStack Config Cloud in
vRealize Automation integriert haben, führt der
vRealize Automation-Dienst diesen API-Aufruf für Sie aus, wenn Sie Minions mithilfe einer Cloud-Vorlage bereitstellen.
from sseapiclient import APIClient
client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False)
client.api.minions.deploy_minion(
master_id = '<master-id>',
host_name_ip = '<prospective minion’s ip>',
os = ‘<prospective minion’s os>’,
minion_id = '<desired-minion-name-for-prospective-minion>',
username = '<ssh-username-for-prospective-minion>',
password = '<ssh-password-for-prospective-minion>',
)
Die Funktion
deploy.minion
wird in Ihrer
SaltStack Config Cloud-Umgebung ausgeführt. Sie können auf der Registerkarte
Aktivität der
SaltStack Config Cloud überprüfen, ob der Auftrag ausgeführt wird, oder indem Sie den Befehl
python3 gefolgt von
client.api.minions.get_minion_deployments() ausführen.
Ergebnisse
Der Minion wurde erfolgreich über Ihre Windows-Umgebung und Ihren API-Aufruf bereitgestellt und konfiguriert.
Nächste Maßnahme
Stellen Sie sicher, dass das Minion erfolgreich bereitgestellt wurde, indem Sie einen Befehl vom Typ
test.ping für das Minion im Fenster
Befehl ausführen oder die Befehle
\* test.ping und
\* test.versions im Salt-Master-Befehlsfenster ausführen.