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
- Stellen Sie sicher, dass Port 22 nicht durch eine Firewall geschützt ist und für die Minion-Verwendung verfügbar ist.
Prozedur
- Stellen Sie sicher, dass der Ordner etc/salt/cloud.deploy.d eine Sammlung dieser Dateien enthält. Diese Dateien sollten mit der Version der Betriebssystemverteilung sowie der Salt-Version übereinstimmen, die Ihr System benötigt.
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.
- Führen Sie im Falle einer Air-Gap-Umgebung die folgenden Schritte aus:
- Öffnen Sie die RaaS-Konfigurationsdatei in
/etc/raas/raas
.
- Fügen Sie der Konfigurationsdatei folgende Zeilen hinzu:
minion_deployment:
airgap_install: true
- 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.
- Führen Sie zum Identifizieren des FQDN des Salt-Masters den Befehl
salt saltmaster grains.get fqdn
im Salt-Master-Terminal aus.
- Stellen Sie sicher, dass der FQDN für den Salt-Master konfiguriert ist, indem Sie den Befehl ping [FQDN] ausführen.
- Führen Sie den Befehl
python3
aus, um Python zu öffnen.
- 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.