Nach der Integration von SaltStack Config in vRealize Automation können Sie die SaltStack Config-Ressource anwenden, um die Minions auf virtuellen Maschinen in Ihren Bereitstellungen zu installieren. Nach der Bereitstellung des Minions können Sie die leistungsstarken SaltStack Config-Funktionen für die Konfigurationsverwaltung, die Drift Remediation und die Statusverwaltung verwenden, um Ihre Ressourcen zu verwalten.

Bei Minions handelt es sich um Agenten, die den Salt-Minion-Dienst ausführen. Der Dienst abonniert von einem Salt-Master veröffentlichte Aufträge. Bei einem Salt-Master handelt es sich um einen Server, der den Salt-Master-Dienst ausführt. Wenn ein bestimmter Auftrag auf einen Minion angewendet wird, führt der Minion den Auftrag aus.

Sie können die SaltStack Config-Ressource verwenden, um Minions bereitzustellen und Zustandsdateien bei der Bereitstellung von Linux- und Windows-Maschinen anzuwenden. Um Minions und Zustandsdateien in vorhandenen Bereitstellungen hinzuzufügen oder zu aktualisieren, können Sie die Tag-2-Aktion SaltStack-Ressource anhängen ausführen. Weitere Informationen zur Tag-2-Aktion finden Sie unter Welche Aktionen kann ich auf Cloud Assembly-Bereitstellungen ausführen?.

Wenn Sie die Eigenschaft saltConfiguration zum Bereitstellen von Minions und Zustandsdateien als Tag-0-Aktion verwendet haben, sollten Sie Ihre Cloud-Vorlagen aktualisieren, um die SaltStack Config-Ressource zu verwenden. Die Eigenschaft saltConfiguration ist jetzt veraltet. Sie können die Eigenschaft saltConfiguration weiterhin in Ihren Cloud-Vorlagen verwenden, SaltStack Config-Integrationsfunktionen werden jedoch eingeschränkt.

Die Tag-2-Aktion Salt-Konfiguration anwenden ist weiterhin für Ressourcen verfügbar, die die Eigenschaft saltConfiguration verwenden.

Bevor Sie beginnen

  1. Stellen Sie sicher, dass Sie SaltStack Config installiert und die Integration konfiguriert haben. Weitere Informationen hierzu finden Sie unter Erstellen einer SaltStack Config-Integration mit vRealize Automation.

    Informationen zur Funktionsweise von SaltStack Config, einschließlich der wichtigsten Konzepte von Minions, finden Sie unter Grundlegendes zur SaltStack-Benutzeroberfläche.

  2. Stellen Sie in SaltStack Config sicher, dass die FQDN-Namensauflösung von Minion zu Master funktioniert.
    1. Zum Überprüfen des FQDN auf dem Salt-Master in SaltStack Config wählen Sie Minions > Alle Minions aus.
    2. Filtern Sie die Spalte Minion-ID nach dem Wert saltmaster.
    3. Klicken Sie auf saltmaster, um die Details anzuzeigen.
    4. Stellen Sie sicher, dass der FQDN-Wert korrekt ist.
  3. Stellen Sie beim Bereitstellen von Minions auf einer Linux-Maschine sicher, dass die Images in vSphere, die Sie mit einem Salt-Minion bereitstellen möchten, über aktivierte SSH-Funktionen verfügen. SSH wird verwendet, um remote auf die Maschine zuzugreifen und den Minion bereitzustellen.
  4. Wenn Sie Minions auf einer Windows-Maschine bereitstellen, finden Sie weitere Informationen unter Vorgehensweise zum Bereitstellen von Minions mithilfe der API (RaaS) in einer Windows-Umgebung.

  5. Wenn Sie Minions auf einer virtuellen Maschine bereitstellen, auf der VMware Tools installiert und ein Salt-Minion konfiguriert ist, stellen Sie sicher, dass der Salt-Minion-Schlüssel von VMware Tools auf der Registerkarte Akzeptiert im Arbeitsbereich Minion-Schlüssel in SaltStack Config angezeigt wird. Weitere Informationen finden Sie unter Aktivieren des Salt-Minions mithilfe von VMware Tools.

    Hinweis: Wenn es sich bei dem Salt-Minion von VMware Tools um eine ältere Version handelt, wird der Salt-Master infolge der Bereitstellung eines Minions für die virtuelle Maschine nicht auf die aktuelle Version aktualisiert. Sie müssen den Salt-Master manuell aktualisieren. Weitere Informationen finden Sie unter Upgrade des Master-Plug-Ins.
  6. Stellen Sie sicher, dass Sie den von Ihnen bereitgestellten Maschinen IP-Adressen zuweisen können.

    In SaltStack Config müssen die Maschinen über IP-Adressen verfügen. Verwenden Sie die IP-Adressen des öffentlichen IP-CIDR-Bereichs für das SDDC (softwaredefiniertes Datencenter), in dem sich Ihr Salt-Master befindet.

  7. Stellen Sie vor dem Hinzufügen der SaltStack Config-Ressourceneigenschaften sicher, dass die Cloud-Vorlage, der das Minion hinzugefügt werden soll, bereitgestellt werden kann.
  8. Stellen Sie sicher, dass Sie über die folgenden Rollen verfügen:
    1. Cloud Assembly-Administrator
    2. Cloud Assembly-Benutzer
    3. Service Broker-Administrator

    Diese Dienstrollen sind für die Verwendung der SaltStack Config-Ressource erforderlich.

Hinzufügen der SaltStack Config-Ressource zur Cloud-Vorlage

Als Cloud-Vorlagenentwickler können Sie der YAML Eigenschaften hinzufügen, mit denen das SaltStack Config-Minion beim Bereitstellen der Vorlage installiert wird.

Zu den wichtigsten Eigenschaften, die Sie der Vorlage hinzufügen, gehören Remotezugriff für die bereitzustellende Maschine sowie Konfigurationseigenschaften für die SaltStack Config-Ressource. Das Verfahren umfasst nur ausgewählte Eigenschaften. Die YAML enthält andere SaltStack Config-Ressourceneigenschaften, die in diesem Beispiel nicht verwendet werden. Weitere Informationen finden Sie im Schema.

Obwohl in diesem Beispiel die Vorgehensweise zum Hinzufügen des Benutzernamens und Kennworts für die Remotezugriffseigenschaften veranschaulicht wird, können Sie eine geheime Eigenschaft konfigurieren und zur Vorlage hinzufügen. Ein Beispiel finden Sie unter Geheime Cloud Assembly-Eigenschaften.

Prozedur

  1. Wählen Sie in Cloud Assembly die Optionen Design > Cloud-Vorlagen aus.
  2. Öffnen Sie eine vorhandene Vorlage.
  3. Suchen Sie nach der Ressource SaltStack Config und ziehen Sie sie auf die Arbeitsfläche.
  4. Hängen Sie die Ressource SaltStack Config an die Maschine an, auf der das Minion installiert wird.
  5. Fügen Sie der Ressource Cloud_SaltStack_1 im Codebereich Eigenschaften hinzu.

    Sie müssen nicht alle möglichen Eigenschaften einschließen. Die in diesem Beispiel verwendeten Werte werden in der Tabelle erläutert.

    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource.Cloud_vSphere_Machine_1.id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe

    Beschreibung der in diesem Beispiel verwendeten Cloud_SaltStack_1-Eigenschaften.

    Eigenschaft Beschreibung
    masterId Der Wert masterId ist im Beispielschema auf saltstack_enterprise_installer festgelegt. Sie haben unter Umständen Master-IDs in SaltStack Config unter Verwaltung > Master-Schlüssel definiert.
    hosts Beim Wert hosts handelt es sich um die ID der Maschine oder des Maschinenclusters, auf dem das Minion installieren werden soll. Standardmäßig wird der Name der Maschine als Minion-ID in SaltStack Config übergeben.

    Es wird empfohlen, Maschinennamen mit maximal 15 Zeichen zu verwenden, insbesondere wenn Minions unter Windows bereitgestellt werden. Windows lässt keine Hostnamen zu, die mehr als 15 Zeichen umfassen.

    Wenn Sie eine benutzerdefinierte Benennungskonvention für die bereitzustellenden Maschinen definieren möchten, finden Sie weitere Informationen unter Benutzerdefinierte Benennung für bereitgestellte Ressourcen in Cloud Assembly.

    saltEnvironment In diesem Beispiel fungiert sse als Dateispeicherort für die Statusdateien. Ihre Statusdateien befinden sich möglicherweise an anderen Dateiserverspeicherorten in SaltStack Config unter Config > Dateiserver.
    stateFiles In diesem Beispiel fungiert doe.sls als Statusdatei, die in dem als „saltEnvironment“ angegebenen Verzeichnis des Dateiservers bereitgestellt wird.
    variables Bei den Variablen handelt es sich um die Werte, die von der Statusdatei verwendet werden. In diesem Beispiel akzeptiert doe.sls einen Wert vom Typ user.
  6. Fügen Sie der Maschine, auf der das Salt-Minion gehostet wird, remoteAccess-Eigenschaften hinzu.

    Der Wert für den Schlüssel authentication muss usernamePassword oder generatedPublicPrivateKey lauten. publicPrivateKey wird nicht unterstützt.

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Stellen Sie sicher, dass die YAML die Eigenschaften enthält (siehe hierzu folgendes Beispiel).
    resources:
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource.Cloud_vSphere_Machine_1.id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
  8. Testen und stellen Sie die Cloud-Vorlage bereit.
    Wenn die Bereitstellung des Minions fehlschlägt, finden Sie weitere Informationen unter Fehlerbehebung bei Minion-Bereitstellungen.
  9. Überprüfen Sie die Salt-Konfigurationseigenschaften für die bereitgestellte Maschine.
    1. Wählen Sie Bereitstellungen > Bereitstellungen aus und öffnen Sie die Bereitstellungsdetails.
    2. Klicken Sie auf der Registerkarte Topologie auf die Maschine und erweitern Sie die Eigenschaften im rechten Fensterbereich.

      Screenshot der Registerkarte „Topologie“ mit erweiterten Salt Configuration-Eigenschaften im rechten Fensterbereich. Die Eigenschaften enthalten die Master-ID, die Salt-Umgebung und die Statusdateien.

Überprüfen des Minions in SaltStack Config

Nachdem Sie den Minion auf der virtuellen Maschine installiert haben, suchen Sie den Minion und führen Sie beliebige Aufträge oder Befehle für die Ressource aus.

Prozedur

  1. Klicken Sie zum Öffnen von SaltStack Config oben rechts auf das Anwendungsmenü und dann auf Cloud Services-Konsole.
  2. Klicken Sie auf die Dienstkachel SaltStack Config.
  3. Erweitern Sie in SaltStack Config die Option Minion-Schlüssel und klicken Sie auf Akzeptieren.
  4. Klicken Sie in der Spalte Minion-ID auf das Filtersymbol und geben Sie den Namen des Minions ein.
    Der Name des Minions entspricht standardmäßig dem Hostnamen der virtuellen Maschine. In diesem Beispiel wird „vra-vm-05“ als Minion-ID verwendet.
    Screenshot der akzeptierten Minion-Schlüssel in SaltStack Config.
  5. Klicken Sie zum Anzeigen der Details auf den Namen des Minions.
    Sie können Aufträge oder Befehle auf dem Minion ausführen. Beispiel: Festplattennutzung. Dieser Auftrag gibt Statistiken zur Festplattennutzung für ein Minion zurück.
    Screenshot der Detailseite für die ID des Beispiel-Minions

Fehlerbehebung bei Minion-Bereitstellungen

Informieren Sie sich über einige der häufigsten Fehler, die bei Benutzern während der Bereitstellung von Salt-Minions mithilfe der SaltStack Config-Ressource oder der Eigenschaft saltConfiguration auftreten.

Verzögerter Hoststart

Wenn die Windows- oder Linux-Dienste auf dem Host nach der Bereitstellung Ihrer Cloud-Vorlage nicht betriebsbereit sind, erhalten Sie in Cloud Assembly unter Umständen die Fehlermeldung „Minion-Bereitstellung und/oder Ausführung der Statusdatei fehlgeschlagen“.

Aktualisieren Sie zum Beheben dieses Fehlers das Master-Plug-In auf die neueste stabile Version. Nach dem Upgrade können Sie eine Konfigurationseinstellung in /etc/salt/master.d/raas.conf aktivieren, die es Windows- und Linux-Diensten ermöglicht, vor der Bereitstellung des Salt-Minions aktiv zu werden.

Führen Sie nach dem Upgrade auf die aktuelle Version des Master-Plug-Ins die folgenden Schritte aus, um den Hoststart zu verzögern:

  1. Überprüfen Sie die Registerkarte Verlauf auf der Seite „Bereitstellungsdetails“.
  2. Wenn die Fehlermeldung „Minion-Bereitstellung und/oder Ausführung der Statusdatei fehlgeschlagen“ lautet, kopieren Sie die Auftrags-ID (JID) und öffnen Sie SaltStack Config.
  3. In SaltStack Config wählen Sie Aktivität> Abgeschlossen aus, um abgeschlossene Aufträge zu öffnen.
  4. Klicken Sie in der Spalte JID auf das Filtersymbol und geben Sie die JID ein.
  5. Klicken Sie auf die JID, um die Seite mit den Auftragsergebnissen zu überprüfen.
  6. Klicken Sie auf die Registerkarte Roh, um die Rohausgabe für den Auftrag anzuzeigen.

    Windows

    Wenn die letzte Zeile in der Rohausgabe für den Auftrag den Eintrag „Es konnte keine Verbindung zum Host hergestellt werden: Zeitüberschreitung“ enthält, müssen Sie diese Konfigurationseinstellung zu /etc/salt/master.d/raas.conf hinzufügen, um den Startvorgang um 180 Sekunden zu verzögern:
    sseapi_win_minion_deploy_delay: 180

    Linux

    Wenn die letzte Zeile in der Rohausgabe für den Auftrag den Eintrag „Auf Remotehost kann mit den angegebenen Anmeldedaten nicht zugegriffen werden“ enthält, müssen Sie diese Konfigurationseinstellung zu /etc/salt/master.d/raas.conf hinzufügen, um den Startvorgang um 90 Sekunden zu verzögern:
    sseapi_linux_minion_deploy_delay: 90
  7. Starten Sie den Salt-Master-Dienst neu:
    systemctl restart salt-master
  8. Stellen Sie Ihre Cloud-Vorlage erneut bereit.

    Wenn die Bereitstellung nicht erfolgreich war, können Sie den Verzögerungsparameter erhöhen und die Vorlage erneut bereitstellen.

Nächste Schritte

Informationen zur Verwendung der SaltStack Config-Funktionen zum Verwalten Ihrer Ressourcen finden Sie in der Dokumentation zu SaltStack Config