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 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.
    Hinweis: „xxxx“ im Dateinamen, wie z. B. „salt-xxxx-readhat-8-x86_64-amd64.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 Bibliotheken mithilfe der Befehle pip3 install pypsexec smbprotocol und pip3 install impacket --ignore-installed.
  3. Geben Sie den Befehl salt saltmaster grains.get fqdn zur Angabe des FQDN des Salt-Masters ein.
  4. Stellen Sie sicher, dass die Datei C: \Windows\System32\drivers\etc\hosts auf Ihrer Windows-Maschine mit der IP-Adresse und dem Hostnamen/FQDN des Salt-Masters konfiguriert ist.
  5. Öffnen Sie PowerShell und führen Sie diese 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
  6. Stellen Sie sicher, dass der FQDN für den Salt-Master konfiguriert ist, indem Sie den Befehl ping [FQDN] ausführen.
  7. Geben Sie diesen API-Aufruf mit den korrekten Anmeldedaten für Ihre Umgebung ein:
    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 SSC-Umgebung ausgeführt. Sie können dies auf der Registerkarte „Aktivität“ der SSC-Benutzeroberfläche oder durch Ausführen des Befehls python3 gefolgt von client.api.minions.get_minio_deployments() überprüfen.

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 „Befehlsausführung“ oder die Befehle \* test.ping und \* test.versions im Salt-Master-Befehlsfenster ausführen.