Als Cloud-Vorlagenentwickler können Sie der YAML Eigenschaften hinzufügen, mit denen das Salt-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 resource. Das Verfahren umfasst nur ausgewählte Eigenschaften. Die YAML enthält andere SaltStack resource-Eigenschaften, 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 Automation Assembler-Eigenschaften.

Prozedur

  1. Wählen Sie in Automation Assembler die Optionen Design > Cloud-Vorlagen aus.
  2. Öffnen Sie eine vorhandene Vorlage.
  3. Suchen Sie nach der SaltStack resource und ziehen Sie sie auf die Arbeitsfläche.
  4. Hängen Sie die SaltStack resource an die Maschine an, auf der das Minion installiert wird.
  5. Fügen Sie der SaltStack resource 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.
    Hinweis: Standardmäßig ist die createTimeout-Eigenschaft auf 30 Minuten festgelegt. Sie können sie mit dem Minuten-/Stundenformat nach Bedarf aktualisieren, z. B. 30 m oder 1 h.
    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1".id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database   
           additionalAuthParams:
             profile:
                tmp_dir: /var/run

    Hier sehen Sie eine 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 Automation 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 Automation 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 Automation Assembler.

    saltEnvironment In diesem Beispiel fungiert sse als Dateispeicherort für die Statusdateien.

    Ihre Statusdateien befinden sich möglicherweise an anderen Dateiserverspeicherorten in Automation 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 In der Cloud-Vorlage definierte Variablen werden als Pfeiler an Salt-Zustände übergeben. In diesem Beispiel wird die Variable user an die Datei doe.sls übergeben.

    Auf Variablen kann in Statusdateien mithilfe von Jinja verwiesen werden. Siehe dazu folgendes Beispiel:

    {% set username = pillar.get('user', 'random') %}
    
    friend:
      user.present:
        - names:
          -  {{username}}

    Mithilfe der Datei doe.sls wird sichergestellt, dass ein Benutzer, der in der Cloud-Vorlage durch die Variable user dargestellt wird, vorhanden ist. Wenn die Variable nicht in der Cloud-Vorlage angegeben ist, wird sichergestellt, dass der Benutzer random vorhanden ist.

    additionalMinionParams Verwenden Sie diese Eigenschaft, um zusätzliche Konfigurationsparameter für den Minion zu übergeben. Diese Parameter müssen als Wörterbuch übergeben werden:

    • grains: Mit dieser Eigenschaft weisen Sie dem Minion benutzerdefinierte Salt-Grains zu. Mindestens ein key:value-Paar wird akzeptiert. Bei den Werten kann es sich um eine Zeichenfolge, ein Array oder eine Zuordnung handeln.

      Benutzerdefinierte Grain-Daten können Sie nur beim Bereitstellen einer neuen Maschine zuweisen. Die Zuweisung von benutzerdefinierten Grain-Daten ist hingegen nicht möglich, wenn Sie die Tag-2-Aktionen SaltStack-Ressource anhängen oder Salt-Konfiguration aktualisieren ausführen.

    additionalAuthParams Verwenden Sie diese Eigenschaft, um zusätzliche Autorisierungsparameter für die Bereitstellung des Minions zu übergeben, das mit der standardmäßigen salt-Cloud-Konfiguration zusammengeführt/überschrieben wird. Diese Parameter müssen als Wörterbuch übergeben werden.

    Mindestens ein Schlüssel-Wert-Paar wird als Zeichenfolge, Array oder Zuordnung akzeptiert. Ein Beispiel für die Verwendung dieser Eigenschaft finden Sie unter Anwendungsfall: Vorgehensweise zum Bereitstellen von Minions mithilfe der API in einer Linux-Umgebung.

    Hinweis: Sie können keine zusätzlichen Autorisierungsparameter zuweisen, wenn die Tag-2-Aktion Salt-Konfiguration aktualisieren ausgeführt wird.
  6. Fügen Sie der Maschine, auf der das Salt-Minion gehostet wird, remoteAccess-Eigenschaften hinzu.

    Wenn Sie ein Salt-Minion auf einer Linux-Maschine bereitstellen, kann der Wert für den authentication-Schlüssel auf usernamePassword oder generatedPublicPrivateKey lauten. publicPrivateKey wird nicht unterstützt.

    Wenn Sie ein Salt-Minion auf einer Windows-Maschine bereitstellen, muss der Wert für den authentication-Schlüssel auf usernamePassword. lauten.

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Stellen Sie sicher, dass die YAML die Eigenschaften enthält (siehe hierzu folgendes Beispiel).
    resources:
      Cloud-Network:
        type: Cloud.Network
        properties:
          networkType: existing 
      Cloud_VM_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
          networks:
            - network: ${resource["Cloud-Network"].id}
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1"].id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database
  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 der Salt-Konfiguration im rechten Fensterbereich.

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

Überprüfen des Minions in Automation 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 Automation Config oben rechts auf das Anwendungsmenü und dann auf Cloud Services-Konsole.
  2. Öffnen Sie den VMware Aria Automation-Dienst.
  3. Klicken Sie auf die Kachel für den Config-Dienst.
  4. Erweitern Sie in Automation Config die Option Minion-Schlüssel und klicken Sie auf Akzeptieren.
  5. 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 „salt-vm-010“ als Minion-ID verwendet.
    Screenshot der akzeptierten Minion-Schlüssel in Automation Config.
  6. 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

Anzeigen von Salt-Grain-Daten

Nachdem Sie die Bereitstellung eines Salt-Minions auf Ihren virtuellen Maschinen abgeschlossen haben, können Sie die Grains des Minions in Automation Assembler anzeigen.

Salt-Grains werden für das Betriebssystem, den Domänennamen, die IP-Adresse, den Kernel, den BS-Typ, den Arbeitsspeicher und zahlreiche weitere Systemeigenschaften des Minions erfasst. Wenn Sie keinen Zugriff auf Automation Config haben oder Grain-Daten schnell anzeigen möchten, ohne die Automation Assembler-Benutzeroberfläche zu verlassen, können Sie die Registerkarte Topologie verwenden, um die Grain-Daten anzuzeigen. Weitere Informationen zu Grain-Daten finden Sie unter Salt-Grains.

So zeigen Sie die Grains eines Minions an:

  1. Klicken Sie in Automation Assembler auf Ressourcen > Bereitstellungen und suchen Sie Ihre Bereitstellung.
  2. Wählen Sie auf der Registerkarte Topologie die virtuelle Maschine aus, die an die SaltStack resource angehängt ist.
  3. Suchen Sie den Abschnitt Salt-Konfiguration im rechten Fensterbereich und scrollen Sie nach unten, um die Liste der Grain-Daten anzuzeigen.Screenshot von Grain-Daten in Automation Assembler

Die Grain-Daten eines Minions werden nach der Bereitstellung des Minions abgerufen. Um zu überprüfen, wann die Grain-Daten zuletzt aktualisiert wurden, können Sie im Abschnitt Salt-Konfiguration nach unten scrollen.

Hinweis: Alternativ können Sie die Salt-Grain-Daten anzeigen, indem Sie auf Ressourcen > Virtuelle Maschinen klicken und die gewünschte VM auswählen, um Maschinenkonfigurationen und -attribute anzuzeigen.
Screenshot der zuletzt aktualisierten Grain-Daten in Automation Assembler