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

  1. Stellen Sie sicher, dass der Ordner etc/salt/cloud.deploy.d auf dem Salt-Master diese Dateien enthält.
    Liste der erforderlichen Dateien im Verzeichnis cloud.deploy.d auf einem Salt-Master

    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.
  2. 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.
  3. Führen Sie zum Identifizieren des FQDN des Salt-Masters den Befehl salt saltmaster grains.get fqdn im Salt-Master-Terminal aus.
  4. Ü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.
  5. Ö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
  6. 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.

  7. 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.
    Die Ergebnisse der Ausführung des Ping-FQDN-Befehls auf einer Windows-Maschine
  8. 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.