Das Ziel dieses Anwendungsbeispiels besteht darin, den Salt-Minion-Dienst programmgesteuert auf einem Minion zu installieren, indem eine Linux-VM mit Ihrer Automation Config-Umgebung verbunden wird.

Voraussetzungen

Vor dem Bereitstellen eines Minions mithilfe der API in einer Linux-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 Linux-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-redhat-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. 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. Führen Sie zum Identifizieren des FQDN des Salt-Masters den Befehl salt saltmaster grains.get fqdn im Salt-Master-Terminal aus.
  4. Stellen Sie sicher, dass der FQDN für den Salt-Master konfiguriert ist, indem Sie den Befehl ping [FQDN] ausführen.
    Die Ergebnisse der Ausführung des Ping-FQDN-Befehls auf einer Linux-Maschine
  5. Führen Sie den Befehl python3 aus, um Python zu öffnen.
  6. Führen Sie diesen API-Aufruf mithilfe eines SSEAPI-Clients mit den korrekten Anmeldedaten für Ihre Umgebung durch:
    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 überprüfen, ob der Auftrag auf der Registerkarte Aktivität in der Automation Config-Benutzeroberfläche ausgeführt wird.

    Hinweis: Wenn Sie ein Minion über Automation Assembler bereitstellen, wird dieser API-Aufruf von Automation Assembler durchgeführt.

Ergebnisse

Der Minion wurde erfolgreich aus Ihrer Linux-Umgebung und ihrem 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.