Das Ziel dieses Anwendungsfalls besteht darin, den Salt-Minion-Dienst programmgesteuert auf einem Minion zu installieren, indem eine Windows-VM mit Ihrer Automation 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 Automation 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. Führen Sie im Falle einer Air-Gap-Umgebung die folgenden Schritte aus:
    1. Öffnen Sie die RaaS-Konfigurationsdatei in /etc/raas/raas.
    2. Fügen Sie der Konfigurationsdatei folgende Zeilen hinzu:
      minion_deployment:
        airgap_install: true
    3. Führen Sie mit dem Befehl service raas restart einen Neustart des RaaS-Dienstes durch.
    Hinweis: Wenn Sie eine abgesicherte Linux-VM verwenden, gibt es einige Situationen, in denen Skripts nicht von /tmp auf der VM ausgeführt werden können.
    • Bei Verwendung von Automation Assembler 8.10.2 oder höher: Fügen Sie die Eigenschaft additionalAuthParams zur Automation Config-Ressource in der Cloud-Vorlage hinzu. Weitere Informationen finden Sie unter Hinzufügen der Automation Config-Ressource zur Cloud-Vorlage.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • Bei Verwendung von Automation Assembler 8.10.1 oder früher: Ändern Sie die Datei /etc/salt/cloud.providers.d/ssc_saltify_provider.conf mit
      ssc_saltify_provider:
        driver: saltify
        tmp_dir: /var/cache/salt
      Wenn diese Konfigurationsdatei nicht vorhanden ist, erstellen Sie sie und fügen Sie die obige Einstellung hinzu.
  3. 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.
    Hinweis: Dieser Schritt ist nicht erforderlich, wenn LCM zum Installieren der Automation Config-Appliance verwendet wird, die den Salt-Master enthält. Dieser Schritt ist jedoch erforderlich, wenn Sie den Salt-Master manuell installieren.
  4. Führen Sie zum Identifizieren des FQDN des Salt-Masters den Befehl salt saltmaster grains.get fqdn im Salt-Master-Terminal aus.
  5. Ü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.
  6. Öffnen Sie PowerShell auf dem Windows-Computer und führen Sie folgenden Befehl aus, um die erforderlichen Ports zu öffnen:
    Port Befehle
    445 New-NetFirewallRule -Name "SMB445" - DisplayName "SMB445" -Protocol TCP - LocalPort 445

    Enable-Psremoting
  7. 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 Automation Config.

  8. 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
  9. Führen Sie diesen API-Aufruf mithilfe eines SSEAPI-Clients mit den korrekten Anmeldedaten für Ihre Umgebung durch.
    Hinweis: Wenn Sie Automation Config in VMware Aria Automation integriert haben, führt der VMware Aria 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 Automation Config-Umgebung ausgeführt. Sie können auf der Registerkarte Aktivität der Automation 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.