Sie können benutzerdefinierte Ressourcen erstellen, die Sie zum Anlegen von Cloud-Vorlagen mithilfe von vRealize Orchestrator-Workflows verwenden können. In diesem Anwendungsbeispiel fügen Sie eine benutzerdefinierte Ressource hinzu, die einen SSH-Host hinzufügt. Sie können die Ressource dann in Cloud-Vorlagen aufnehmen. In diesem Verfahren wird auch ein Aktualisierungsworkflow hinzugefügt, damit Benutzer nach der Bereitstellung Änderungen an der SSH-Konfiguration vornehmen können, statt einzelne Tag-2-Aktionen durchzuführen.
Bei benutzerdefinierten Ressourcen handelt es sich um vRealize Orchestrator- oder Erweiterbarkeitsaktionsobjekte, die über vRealize Automation mit den in der benutzerdefinierten Ressource definierten Lebenszyklusaktionen verwaltet werden können. Der Cloud-Vorlagendienst ruft automatisch die entsprechenden vRealize Orchestrator-Workflows oder Erweiterbarkeitsaktionen auf, wenn der mit einer bestimmten Lebenszyklusaktion verknüpfte Vorgang ausgelöst wird. Sie können die Funktionalität des Ressourcentyps erweitern, indem Sie auch vRealize Orchestrator-Workflows oder Erweiterbarkeitsaktionen auswählen, die als Tag-2-Vorgänge verwendet werden können.
In diesem Anwendungsbeispiel werden integrierte, in der vRealize Orchestrator-Bibliothek bereitgestellte Workflows verwendet. Es umfasst vorgegebene Werte oder Zeichenfolgen, um darzustellen, wie der Prozess ausgeführt werden kann. Sie können sie so anpassen, dass sie sich für Ihre Umgebung eignen.
Zu Referenzzwecken verwendet dieses Anwendungsbeispiel ein Projekt mit dem Namen DevOpsTesting. Sie können das Projekt durch eines Ihrer vorhandenen Projekte ersetzen.
Voraussetzungen
- Vergewissern Sie sich, dass Sie eine vRealize Orchestrator-Integration konfiguriert haben. Weitere Informationen hierzu finden Sie unter Konfigurieren einer vRealize Orchestrator-Integration in Cloud Assembly.
- Stellen Sie sicher, dass die Workflows, die Sie für die Aktionen zum Erstellen, Aktualisieren und Löschen verwenden, und die Tag-2-Aktionen in vRealize Orchestrator vorhanden sind und erfolgreich von dort aus ausgeführt werden.
- Suchen Sie in vRealize Orchestrator den Ressourcentyp, der von den Workflows verwendet wird. Die in dieser benutzerdefinierten Ressource enthaltenen Workflows müssen alle denselben Ressourcentyp verwenden. In diesem Anwendungsbeispiel lautet der Ressourcentyp
SSH:Host
. Weitere Informationen zur Validierung des Ressourcentyps finden Sie unter Benutzerdefinierte Ressourcentypen für Cloud Assembly-Cloud-Vorlagen.
- Stellen Sie sicher, dass Sie das Verfahren zum Konfigurieren und Bereitstellen einer Cloud-Vorlage für Maschinen kennen.
Prozedur
- Erstellen Sie eine benutzerdefinierte Ressource für einen SSH-Host, um SSH zu einer Cloud-Vorlage hinzuzufügen.
In diesem Schritt wird die benutzerdefinierte Ressource als Ressourcentyp zur Design-Arbeitsfläche der Cloud-Vorlage hinzugefügt.
- Wählen Sie in Cloud Assembly die Option und klicken Sie auf Neue benutzerdefinierte Ressource.
- Stellen Sie die folgenden Werte bereit.
Beachten Sie, dass es sich mit Ausnahme der Workflow-Namen um Beispielwerte handelt.
Tabelle 1.
Einstellung |
Beispielwert |
Name |
SSH Host - DevOpsTesting Project Dies ist der Name, der in der Ressourcentyppalette der Cloud-Vorlage angezeigt wird. |
Ressourcentyp |
Custom.SSHHost Der Ressourcentyp muss mit Custom. beginnen und jeder Ressourcentyp muss eindeutig sein. Obwohl die Aufnahme von Custom. im Textfeld nicht validiert ist, wird die Zeichenfolge automatisch hinzugefügt, wenn Sie sie entfernen. Dieser Ressourcentyp wird der Design-Arbeitsfläche hinzugefügt, damit Sie ihn in der Cloud-Vorlage verwenden können. |
- Zum Aktivieren dieses Ressourcentyps in der Liste der Ressourcentypen für Cloud-Vorlagen stellen Sie sicher, dass die Option Aktivieren ausgewählt ist.
- Wählen Sie die Einstellung Bereich aus, die dem Projekt DevOpsTesting den Ressourcentyp zur Verfügung stellt.
- Stellen Sie unter Basierend auf sicher, dass vRO-Bestandsliste als Anbieter der Lebenszyklusaktion ausgewählt wurde.
- Wählen Sie die Workflows aus, die die Ressource definieren.
Einstellung |
Einstellung |
Lebenszyklusaktionen – Erstellen |
Wählen Sie den Workflow SSH-Host hinzufügen aus. Wenn Sie über mehrere vRealize Orchestrator-Integrationen verfügen, wählen Sie den Workflow der Integrationsinstanz aus, die Sie zum Ausführen dieser benutzerdefinierten Ressourcen verwenden. Nach dem Auswählen des Workflows wird das Dropdown-Menü für den externen Typ verfügbar und automatisch auf SSH:Host festgelegt. Ein externer Quelltyp kann nur einmal bei gemeinsamer Nutzung und einmal pro Projekt verwendet werden. In diesem Anwendungsbeispiel stellen Sie die benutzerdefinierte Ressource nur für das Projekt DevOpsTesting bereit. Wenn Sie über andere Workflows verfügen, die den Typ SSH:Host benötigen, müssen Sie einzelne benutzerdefinierte Ressourcen für jedes Projekt erstellen. |
Lebenszyklusaktionen – Aktualisieren |
Wählen Sie den Workflow SSH-Host aktualisieren aus. |
Lebenszyklusaktionen – Löschen |
Wählen Sie den Workflow SSH-Host entfernen aus. |
- Überprüfen Sie den Schemaschlüssel und geben Sie Werte auf der Registerkarte Eigenschaften ein, um die Workflow-Eingaben zu verstehen, die in der Cloud-Vorlage konfiguriert werden können.
Das Schema listet die erforderlichen und optionalen Eingabewerte auf, die im Workflow definiert sind. Die erforderlichen Eingabewerte sind in der YAML der Cloud-Vorlage enthalten.
Erforderliche Eingabewerte im Workflow SSH-Host hinzufügen sind hostname
, port
und username
. Die anderen Schemaeigenschaften sind nicht erforderlich. Sie können das Schema auch verwenden, um zu ermitteln, wo Bindungen mit anderen Feldwerten, Workflows oder Aktionen erstellt werden sollen. Bindungen sind in diesem Anwendungsfall nicht enthalten.
- Um die Erstellung Ihrer benutzerdefinierten Ressource abzuschließen, klicken Sie auf Erstellen.
- Erstellen Sie eine Cloud-Vorlage, bei deren Bereitstellung der SSH-Host hinzugefügt wird.
- Wählen Sie aus und klicken Sie auf .
- Geben Sie der Cloud-Vorlage den Namen Maschine mit SSH-Host.
- Wählen Sie das Projekt DevOpsTesting aus und klicken Sie auf Erstellen.
- Fügen Sie eine vSphere-Maschine hinzu und konfigurieren Sie sie.
- Ziehen Sie in der Liste der benutzerdefinierten Ressourcen links auf der Seite „Cloud-Vorlagen-Design“ den Ressourcentyp SSH Host - DevOpsTesting Project auf die Arbeitsfläche.
Hinweis: Sie können die benutzerdefinierte Ressource auswählen, indem Sie entweder im linken Fensterbereich nach unten scrollen und sie dann auswählen, oder indem Sie im Textfeld
Ressourcentypen durchsuchen suchen. Falls die benutzerdefinierte Ressource nicht angezeigt wird, klicken Sie auf die Schaltfläche „Aktualisieren“ neben dem Textfeld
Ressourcentypen durchsuchen.
Eine Erinnerung daran, dass der Ressourcentyp verfügbar ist, weil er für das Projekt konfiguriert wurde. Wenn Sie eine Cloud-Vorlage für ein anderes Projekt erstellt haben, können Sie den Ressourcentyp nicht anzeigen.
- Bearbeiten Sie auf der rechten Seite den YAML-Code, um die obligatorischen Eingabewerte hinzuzufügen.
Fügen Sie einen
inputs
-Abschnitt im Code hinzu, damit Benutzer den Benutzer- und Hostnamen zur Bereitstellungszeit angeben können. In diesem Beispiel wird 22 als Standardwert für den Port verwendet. Im folgenden Beispiel handelt es sich bei einigen dieser Werte um Beispieldaten. Ihre Werte können davon abweichen.
inputs:
hostname:
type: string
title: The hostname of the SSH Host
username:
type: string
title: Username
- Fügen Sie im Abschnitt
resources
den Code ${input.input-name}
hinzu, um die Benutzerauswahl zu bestätigen.
resources:
Custom_SSHHost_1:
type: Custom.SSHHost
properties:
port: 22
hostname: '${input.hostname}'
username: '${input.username}'
- Stellen Sie die Cloud-Vorlage bereit.
- Klicken Sie auf der Seite des Cloud-Vorlagen-Designers auf Bereitstellen.
- Geben Sie den Bereitstellungsnamen SSH-Host-Test ein.
- Wählen Sie die Version der Cloud-Vorlage aus und klicken Sie auf Weiter.
- Vervollständigen Sie die Eingaben der Bereitstellung.
- Klicken Sie auf Bereitstellen.
- Überwachen Sie die Bereitstellungsanforderung auf der Seite Bereitstellungen, um sicherzustellen, dass der SSH-Host in der Bereitstellung enthalten und die Bereitstellung erfolgreich ist.
Nächste Maßnahme
Wenn die getestete Cloud-Vorlage funktioniert, können Sie die benutzerdefinierte Ressource SSH Host mit anderen Cloud-Vorlagen verwenden.