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

  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. Um die Version des Salt-Masters zu überprüfen, 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 den Befehl ping [FQDN] auf Ihrem Windows-Computer 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 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.