Nachdem Sie den Automation Config-Dienst installiert und integriert haben, müssen Sie auch den Salt-Minion-Dienst auf allen Knoten installieren, ausführen und registrieren, die Sie mithilfe von Automation Config verwalten möchten. Sie können den Salt-Minion-Dienst entweder unter Verwendung von VMware Aria Automation-Cloud-Vorlagen oder durch die Installation des Dienstes über Secure Shell (SSH) für Ihre Knoten bereitstellen.
Salt und seine Beziehung zu Automation Config
Automation Config wird auf Salt ausgeführt, einem Python-basierten Open-Source-Remoteausführungs-Framework, das für Folgendes verwendet wird:
- Konfigurationsverwaltung
- Automatisierung
- Bereitstellung
- Orchestrierung
Salt ist die Technologie, die der Kernfunktionalität von Automation Config zugrunde liegt. Automation Config verbessert und erweitert Salt und bietet zusätzliche Funktionen und Features, welche die Benutzerfreundlichkeit verbessern.
Salt verwendet das Controller-Client-Modell, bei dem ein Controller Befehle an einen Client ausgibt und der Client den Befehl ausführt. Im Salt-Ökosystem ist der Controller ein Server, auf dem der Salt-Master-Dienst ausgeführt wird. Er gibt Befehle an ein oder mehrere Salt-Minions aus, bei denen es sich um Knoten handelt, die den Salt-Minion-Dienst ausführen und die bei diesem speziellen Master registriert sind.
Salt kann auch als Herausgeber-/Abonnentenmodell beschrieben werden. Der Master veröffentlicht Aufträge, die ausgeführt werden müssen, und Minions sind die Abonnenten dieser Aufträge. Wenn für einen Minion ein bestimmter Auftrag gilt, führt dieser den Auftrag aus. Wenn ein Minion die Ausführung eines Auftrags abgeschlossen hat, sendet er Auftragsrücksendungsdaten zurück an den Master.
Minions sind Knoten, die den Salt-Minion-Dienst ausführen. Der Dienst hört Befehle aus einem Salt-Master ab und führt die angeforderten Aufgaben durch. Sie können Minions über VMware Aria Automation-Cloud-Vorlagen bereitstellen.
Bevor Sie mit der Verwendung von Automation Config zur Konfigurationsverwaltung beginnen können, müssen Sie zuerst den Salt-Minion-Dienst auf allen Knoten installieren, die Sie verwalten möchten. Sie müssen die Minions auch registrieren, indem Sie deren Schlüssel an Automation Config senden bzw. von dort annehmen.
Bevor Sie beginnen
- Installieren und konfigurieren Sie Automation Config und integrieren Sie sie es in VMware Aria Automation.
- Knoten, die mithilfe von Automation Config verwaltet werden, müssen den Salt-Master erreichen können und sich in demselben Netzwerk wie der Automation Config-Integrationspunkt und der Salt-Master befinden.
- vSphere-Maschinen, die in einem privaten Netzwerk bereitgestellt werden, müssen eine Verbindung mit der Automation Config-Integration und dem Salt-Master herstellen können.
Installieren des Salt-Minion-Dienstes über SSH
Der Vorgang zum Installieren des Salt-Minion-Dienstes mithilfe von SSH ist abhängig von dem Betriebssystem, das auf diesen Knoten ausgeführt wird.
- Informationen zum Installieren des Salt-Minion-Dienstes unter RedHat Linux oder CentOS finden Sie unter Erforderliche Automation Config-Abhängigkeiten.
- Informationen zu anderen Betriebssystemen finden Sie unter http://repo.saltstack.com/.
- Konfigurieren Sie jeden Minion für die Kommunikation mit dem Master durch die entsprechende Erstellung einer
master.conf
-Datei im Verzeichnis/etc/salt/minion.d
. Geben Sie in dieser Datei die IP-Adresse des Masters an. Beispiel:master: 192.0.2.1
- Starten Sie den Minion-Dienst:
sudo systemctl enable salt-minion
sudo systemctl start salt-minion
- Wiederholen Sie die vorherigen Schritte für alle verbleibenden Knoten.
Nachdem Sie diese Minion-Dateien so konfiguriert haben, dass sie auf den Salt-Master verweisen, nehmen Sie die Minion-Schlüssel im Automation Config-Dienst in der Arbeitsumgebung „Minion-Schlüssel“ an.
Installieren des Salt-Minion-Dienstes mithilfe von VMware Aria Automation-Cloud-Vorlagen
Um den Salt-Minion-Dienst mithilfe von Cloud-Vorlagen bereitzustellen, müssen Sie auf cloud-init (Linux) oder Cloudbase-init (Windows) zugreifen können und damit vertraut sein. Zum Hinzufügen von Salt-Minions zum Salt-Master, der für die Automation Config-Integration konfiguriert ist, muss die virtuelle Maschine in der Cloud-Vorlage cloud-init (Linux) oder Cloudbase-init (Windows) unterstützen.
In den folgenden Abschnitten wird die Bereitstellung des Salt-Minion-Dienstes mithilfe von Cloud-Vorlagen erläutert.
Hinzufügen von Minions zum für VMware Aria Automation konfigurierten Salt-Master
Nach der Installation von Automation Config wird eine Salt-Master-IP-Adresse angegeben. Diese Master-IP-Adresse wird als masterAddress-Eigenschaft verwendet, wenn Sie Minions über eine VMware Aria Automation-Cloud-Vorlage bereitstellen.
Sie installieren und stellen Minions mithilfe von cloud-init- oder Cloudbase-init-Skripts in einer VMware Aria Automation-Cloud-Vorlage oder -Bereitstellung bereit. Sie können auch eine Image-Zuordnung verwenden, die ein Cloud-Konfigurationsskript darstellt, das eines dieser Formate verwendet. Zum Hinzufügen von Salt-Minions zum Salt-Master, der mit einer VMware Aria Automation Automation Config-Integration verknüpft ist, muss die Zielmaschine cloud-init (Linux) oder Cloudbase-init (Windows) unterstützen. Cloud-Konfigurationsskripts in VMware Aria Automation unterstützen beide Formate.
Sie konfigurieren eine Maschinenressource in der Cloud-Vorlage mit dem Wert minionId und cloudConfig und verweisen auf die Eigenschaftsgruppe SaltStackConfiguration. Die Eigenschaftsgruppe SaltStackConfiguration wird während der Installation und Konfiguration des Automation Config-Diensts in VMware Aria Suite Lifecycle erstellt. Sie enthält die Eigenschaften masterAddress und masterFingerprint.
Der Wert minionId muss dem für die /salt/minion_id
der Maschine im Abschnitt cloudConfig
des Cloud-Vorlagencodes angegebenen Wert entsprechen.
- VMware Aria Automation-Image, das aus dem Cloud-Vorlagencode aufgerufen wird
- Cloud-Konfigurationsskript, das aus dem Cloud-Vorlagencode aufgerufen wird
- Inhalt des Cloud-Konfigurationsskripts, der direkt dem Cloud-Vorlagencode hinzugefügt wird
Hinweis: Wenn Sie eine Cloud-Vorlage bereitstellen, die Salt-Minions enthält, und die Bereitstellung in Automation Assembler nicht sichtbar ist, können Sie die Bereitstellung mithilfe des Automation Service Broker-Diensts anzeigen.
Beispiel – Linux-basierte Bereitstellung und cloud-init
resources: Salt-Minion: type: Cloud.Machine properties: image: Ubuntu-18 flavor: medium constraints: - tag: 'env:vsphere' cloudConfig: | #cloud-config hostname: ${input.saltminionhostname} users: - name: ${input.user} sudo: ['ALL=(ALL) NOPASSWD:ALL'] groups: sudo shell: /bin/bash runcmd: - PASS=${input.password} - USER=${input.user} - echo $USER:$PASS | /usr/sbin/chpasswd - sed -i "s/PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config - service ssh reload - curl -L https://bootstrap.saltstack.com -o install_salt.sh - sudo sh install_salt.sh -A ${propgroup.SaltStackConfiguration.masterAddress}
Beispiel – Windows-basierte Bereitstellung und Cloudbase-init
formatVersion: 1 inputs: {} resources: WindowsVM-Minion: type: Cloud.vSphere.Machine properties: image: win2016 flavor: medium customizationSpec: Windows minionId: '${resource.WindowsVM-Minion.resourceName}' networks: - network: '${resource.wpnet.id}' name: '${wpnet.name}' assignPublicIpAddress: true cloudConfig: | #ps1_sysnative [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -OutFile C:\Salt-Minion-3002.2-Py3-AMD64-Setup.exe -Uri https://repo.saltstack.com/windows/Salt-Minion-3002.2-Py3-AMD64-Setup.exe Start-Process -Wait -FilePath "C:\Salt-Minion-3002.2-Py3-AMD64-Setup.exe" -ArgumentList "/S" -PassThru ((Get-Content -path C:\salt\conf\minion -Raw) -replace "#master: salt", "master: ${propgroup.SaltStackConfiguration.masterAddress}") | Set-Content -Path C:\salt\conf\minion ((Get-Content -path C:\salt\conf\minion -Raw) -replace "#master_finger: ''", "master_finger: '${propgroup.SaltStackConfiguration.masterFingerPrint}'") | Set-Content -Path C:\salt\conf\minion Set-Content -Path C:\salt\conf\minion_id -Value '${resource.WindowsVM-Minion.resourceName}' C:\salt\salt-call.bat service.restart salt-minion wpnet: type: Cloud.Network properties: name: wpnet networkType: existing
Vorgehensweise zum Konfigurieren von PowerShell-Befehlen
Sie konfigurieren PowerShell-Befehle im Abschnitt cloudConfig
Ihrer Cloud-Vorlagen.
- Installieren Sie den Salt-Minion-Dienst auf der Windows-VM.
- Aktualisieren Sie den Wert des Salt-Master-Hostnamens in der Minion-Konfiguration.
- Aktualisieren Sie den Wert des Salt-Master-Fingerabdrucks in der Minion-Konfiguration.
- Legen Sie die
minion_id
auf den VM-Ressourcennamen fest, der zum Akzeptieren des Minions im Salt-Master verwendet wird. - Starten Sie den Minion neu.
Weitere Informationen zum Bereitstellen von Salt-Minions
Alternative Methoden zur Verwendung integrierter Automation Config zum Bereitstellen von Salt-Minions über eine VMware Aria Automation-Cloud-Vorlage finden Sie unter Assembler and ABX Secrets (and how to use them for installing Automation Config Minion Agents).
Wenn Sie mit Config, nicht jedoch mit Aria Automation vertraut sind, finden Sie verwandte Informationen zum Definieren und Bereitstellen allgemeiner Automation Assembler-Vorlagen unter Entwerfen Ihrer Assembler-Bereitstellungen.