Das Ziel dieses Anwendungsfalls besteht darin, den Salt-Minion-Dienst programmgesteuert auf einem Minion zu installieren, indem eine Windows-VM mit Ihrer SaltStack Config-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-Umgebung mit bereitgestelltem RaaS.
- einen installierten Salt-Master und einen installierten 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. Überprüfen Sie die Version des Salt-Masters und 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.
- Wenn Sie Minions auf einer Windows Maschine in Azure bereitstellen, öffnen Sie Powershell und führen Sie die folgenden Befehle aus, um die erforderlichen Ports zu öffnen:
Port |
Befehle |
445 |
New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445 Enable-Psremoting |
- Wenn Sie keine Minions auf einem Windows-Computer in Azure bereitstellen, öffnen Sie PowerShell und führen Sie die folgenden Befehle aus, um die erforderlichen Ports zu öffnen:
Port |
Befehle |
445 |
New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445 Set-Item (dir wsman:\localhost\Listener*\Port - Recurse).pspath 445 -Force Restart-Service winrm |
4505–4506 |
netsh advfirewall firewall add rule name="Salt" dir=in action=allow protocol=TCP localport=4505-4506 |
- Stellen Sie sicher, dass der FQDN für den Salt-Master konfiguriert ist, indem Sie auf Ihrem Windows-Computer den Befehl ping [FQDN] 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 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-Umgebung ausgeführt. Sie können auf der Registerkarte
Aktivität der
SaltStack Config-Benutzeroberfläche ü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.