Das Ziel dieses Anwendungsbeispiels besteht darin, den Salt-Minion-Dienst programmgesteuert auf einem Minion zu installieren, indem eine Linux-VM mit Ihrer SaltStack 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 SaltStack 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. Um die Version des Salt-Masters zu überprüfen, 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.
    • Wenn Sie vRA Cloud Assembly Version 8.10.2 oder höher verwenden: Fügen Sie die additionlAuthParams-Eigenschaft zur Salt-Ressource in der Cloud-Vorlage hinzu. Weitere Informationen finden Sie unter Hinzufügen der SaltStack Config-Ressource zur Cloud-Vorlage.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • Wenn Sie vRA Cloud Assembly Version 8.10.1 oder niedriger verwenden: Ä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.
  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 SaltStack Config-Umgebung ausgeführt. Sie können überprüfen, ob der Auftrag auf der Registerkarte Aktivität in der SaltStack Config-Benutzeroberfläche ausgeführt wird.

    Hinweis: Wenn Sie einen Minion über vRA bereitstellen, wird dieser API-Aufruf von vRA 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.