Salt Project ist eine Python-basierte Open-Source-Software für ereignisgesteuerte IT-Automatisierung, Remote-Aufgabenausführung und Konfigurationsverwaltung.

Weitere Informationen zu Salt finden Sie im Salt-Benutzerhandbuch.

Salt erfordert die Bereitstellung eines Salt-Minions auf dem Gastsystem. Salt-spezifische Gastvariablen werden hostseitig pro VM festgelegt und anschließend von VMware Tools auf dem Gastsystem gelesen. VMware Tools lädt dann das Salt-Paket herunter und erstellt eine Salt-Minion-Instanz auf dem Gastsystem.

Voraussetzungen

  • Unterstützt nur 64-Bit-Betriebssysteme.
  • Für Windows werden Windows 8 und höhere Versionen unterstützt.
    Hinweis: Windows 2008R2 wird nicht unterstützt.
  • VMware Tools müssen mit der Salt-Minion-Funktion installiert werden. Standardmäßig ist diese Funktion aktiviert.
  • Es gibt Abhängigkeiten von installierten Paketen in Linux (wie curl und wget)

Prozedur

  • Hostseitige Konfiguration pro VM mit Gastvariablen
    Der Hostadministrator verwaltet alle Einstellungen der Gastvariablen auf der Hostseite für eine bestimmte VM mithilfe der VIM-API oder der vSphere/VC-Benutzeroberfläche.
      • Windows:

        Die VMware Tools Salt Minion-Funktion wird standardmäßig installiert und kann in einer benutzerdefinierten Installation geändert werden.

        Damit VMware Tools eine Salt-Minion-Instanz auf einer bestimmten VM erstellen und den Salt-Minion mit dem Salt-Master verbinden kann, muss der Hostadministrator die Gastvariable für diese VM konfigurieren und festlegen.

        Wählen Sie in der vSphere-Host-Benutzeroberfläche eine bestimmte VM aus und klicken Sie mit der rechten Maustaste und bearbeiten Sie die Einstellungen. Wählen Sie auf der Registerkarte VM-Optionen die Option Erweitert > Konfiguration bearbeiten > Parameter hinzufügen/löschen aus und legen Sie Folgendes fest:

        • guestinfo./vmware.components.salt_minion.desiredstate auf „vorhanden“ festlegen,
        • guestinfo./vmware.components.salt_minion.args auf <benutzerdefinierte Argumente im VMware Tools Salt-Minion-Setup-Skript> festlegen,

        Beispiel:

        guestinfo./vmware.components.salt_minion.desiredstate → vorhanden

        guestinfo./vmware.component.salt_minion.args → master = 1.2.3.4

      • Linux:
        Der Hostadministrator muss open-vm-tools und open-vm-tools-salt-minion installieren und dann die Gastvariable für eine bestimmte VM wie folgt festlegen:
        • guestinfo./vmware.components.salt_minion.desiredstate auf „vorhanden“ festlegen,
        • guestinfo./vmware.components.salt_minion.args auf <benutzerdefinierte Argumente im VMware Tools Salt-Minion-Setup-Skript> festlegen,

        Beispiel:

        guestinfo./vmware.components.salt_minion.desiredstate → vorhanden

        guestinfo./vmware.components.salt_minion.args → master=1.2.3.4 id=12345

    • Entfernen des Salt-Minions

      Unter Windows oder Linux: Wenn der Hostadministrator die Gastvariable guestinfo./vmware.component.salt_minion.desiredstate auf nicht vorhanden setzt, dann entfernt VMware Tools die Salt-Minion-Instanz in der Gast-VM.

      Beispiel:

      guestinfo./vmware.components.salt_minion.desiredstate → nicht vorhanden

    • Überprüfen des aktuellen Status von Salt-Minion innerhalb des Gastbetriebssystems

      Um den neuesten Status des Salt-Minions im Gast in der vSphere-Benutzeroberfläche zu überprüfen, verwenden Sie die Gastvariable:

      guestinfo.vmware.components.salt_minion.laststatus

  • Gastseitige Konfiguration mit tools.conf

    Die Datei tools.conf enthält die Konfigurationen für VMware Tools im Format .ini. Dieses Tool sucht nach dem Abschnitt salt_minion und verwendet die unter diesem Abschnitt definierten Konfigurationen. Diese Datei befindet sich unter:

    Windows - C:\ProgramData\VMware\VMware Tools\tools.conf

    Linux - /etc/vmware-tools/tools.conf

    Hier ist ein Beispiel für den Abschnitt salt_minion wie in tools.conf definiert:

    [salt_minion]
    master=1.2.3.4
    conf_file=/etc/salt/minion
    id=dev_minion
    Hinweis: In tools.conf sind nur Optionen für die Minion-Konfiguration verfügbar. Die gewünschte Skriptaktion kann nicht aus tools.conf abgerufen werden.
    • Konfigurieren des Intervalls zur Überwachung der Statusänderung in den Gastvariablen:

      VMware Tools fragt regelmäßig Gastvariablen nach den Statusänderungen ab. Das Standardabfrageintervall beträgt 180 Sekunden und kann in den Einstellungen in der Datei tools.conf konfiguriert werden.

      [componentmgr]

      poll-interval=180 (Standardwert: 180 Sekunden)

    • Aktivieren und Deaktivieren der Komponente (salt_minion):
      • Der Gastsystemadministrator kann die Komponente salt_minion aktivieren, indem er die Einstellungen in der Datei tools.conf konfiguriert.

        [componentmgr]

        included=salt_minion

      • Der Gastsystemadministrator kann alle Komponenten aktivieren, indem er die Einstellungen in der Datei tools.conf konfiguriert.

        [componentmgr]

        included=all (Standardkonfiguration)

      • Der Gastsystemadministrator kann alle Komponenten deaktivieren, indem er die Einstellungen in der Datei tools.conf konfiguriert.

        [componentmgr]

        included=none
  • Installieren von Salt-Minion mithilfe eines Installationsskripts
      • Linux-Umgebung
        Auf Linux-Systemen ist das Installationsskript svtminion.sh ein Bash-Skript mit den folgenden Voraussetzungen:
        • - systemctl
        • - curl
        • - sha512sum
        • - vmtoolsd
        • - grep
        • - awk
        • - sed
        • - cut
        • - wget

        svtminion.sh --help zeigt die Befehlszeilenoptionen.

        Nutzung:
        ./svtminion.sh [-c|--clear] [-d|--depend] [-h|--help] [-i|--install] 
         [-j|--source] [-l|--loglevel] [-m|--minionversion]
        [-r|--remove] [-s|--status] [-v|--version]

        wobei ./svtminion.sh [-j|--source] den Speicherort angibt, von dem Salt Minion installiert werden soll. Die Standardeinstellung ist repo.saltproject.io.

        Beispiel: URL-Speicherort

        http://my_web_server.com/my_salt_onedir

        https://my_web_server.com/my_salt_onedir

        file:////my_path/my_salt_onedir

        //my_path/my_salt_onedir

        Hinweis: Wenn eine bestimmte Version von Salt Minion [-m|--minionversion] angegeben ist, wird sie an die Quelle angehängt. Die Standardeinstellung ist die neueste Version.

        Hier ist ein Beispiel für die Installation von salt_minion wie in tools.conf definiert:

        [salt_minion]
        master=1.2.3.4
        conf_file=/etc/salt/minion
        id=dev_minion
        source=https://my_web_server.com/my_salt_onedir
        Hinweis: Wenn Sie von Ihrem privaten Replikat des Standard-Repository-Speicherorts für Salt installieren, verwenden Sie source=https://repo.saltproject.io/salt/vmware-tools-onedir/
      • Windows-Umgebung

        Auf Windows-Systemen ist das Installationsskript svtminion.ps1 ein Powershell-Skript. Die einzige Voraussetzung für Windows ist die Binärdatei „vmtoolsd.exe“, die zum Abfragen der Gastvariablendaten verwendet wird.

        Führen Sie den Befehl svtminion.ps1 -h oder Get-Help svtminion.ps1 aus, um Hilfe zu diesem Skript zu erhalten.

        VMware Tools-Skript zum Verwalten des Salt-Minions auf einem Windows-Gast lautet:
        .\svtminion.ps1 [-Install] [-MinionVersion <String>] [-Source <String>] [[-ConfigOptions] <String[]>] [-LogLevel <String>] [-Help] [-Version] [<CommonParameters>]

        wobei -Source <String> die URL oder der Pfad zum Repository ist, das die Installationsprogramme enthält.

        Dieses enthält eine Verzeichnisstruktur, die derjenigen am Standardspeicherort ähnelt: https://repo.saltproject.io/salt/vmware-tools-onedir/. Dies kann die meisten gängigen Protokolle wie http, https, ftp, unc, local verarbeiten.

        Beispiel:

        PS>svtminion.ps1 -Install
                PS>svtminion.ps1 -Install -MinionVersion 3004-1 master=192.168.10.10 id=dev_box
                PS>svtminion.ps1 -Install -Source https://my.domain.com/vmtools/salt
        Hinweis:

        Um die Beispiele zu sehen, geben Sie get-help .\svtminion.ps1 -examples ein

        Für weitere Informationen, geben Sie get-help .\svtminion.ps1 -detailed ein

        Geben Sie für technische Informationen get-help .\svtminion.ps1 -full ein

  • Abrufen von Protokollinformationen
    Der Gastadministrator kann Protokollinformationen im Zusammenhang mit Salt-Minion über den folgenden Pfad abrufen:
    Windows
    Protokolldatei Speicherort
    Protokolldatei zur Überprüfung des Salt-Minion-Status C:\Windows\Temp\vmware-svtminion-status-{Timestamp}.log
    Protokolldatei für die Installation einer Salt-Minion-Instanz im Gastbetriebssystem C:\Windows\Temp\vmware-svtminion-install-{TimeStamp}.log
    Protokolldatei zum Entfernen einer Salt-Minion-Instanz im Gastbetriebssystem: C:\Windows\Temp\vmware-svtminion-remove-{TimeStamp}.log
    Protokolldatei zur Überprüfung von Laufzeitinformationen nach dem Installieren oder Entfernen einer Salt-Minion-Instanz im Gastbetriebssystem C:\salt\var\log\minion log files
    Linux
    Protokolldatei Speicherort
    Protokolldatei zur Überprüfung des Salt-Minion-Status /var/log/vmware-svtminion.sh-status-{Timestamp}.log
    Protokolldatei für die Installation einer Salt-Minion-Instanz im Gastbetriebssystem /var/log/vmware-svtminion.sh-install-{TimeStamp}.log
    Protokolldatei zum Entfernen einer Salt-Minion-Instanz im Gastbetriebssystem: /var/log/vmware-svtminion.sh-remove-{TimeStamp}.log
    Protokolldatei zur Überprüfung von Laufzeitinformationen nach dem Installieren oder Entfernen einer Salt-Minion-Instanz im Gastbetriebssystem /var/log/salt/minion