Während der iterativen Entwicklung Ihrer Cloud-Vorlagen, oder wenn Sie über eine endgültige Vorlage verfügen, können Sie die Vorlagen den Verbrauchern im Self-Service-Katalog von Service Broker zur Verfügung stellen. Um die Benutzererfahrung weiter zu verbessern, können Sie ein benutzerdefiniertes Anforderungsformular erstellen. Das angepasste Formular ist leistungsfähiger als die einfachen Vorlagen-Eingabeoptionen.
Vorbereitung
- Stellen Sie sicher, dass Sie über die Infrastruktur verfügen, die Ihre Vorlage unterstützt. Falls nicht, beginnen Sie mit Lernprogramm: Einrichten und Testen der vSphere-Infrastruktur und -Bereitstellungen in Cloud Assembly und fahren Sie mit den anderen Lernprogrammen fort.
- Vergewissern Sie sich, dass Sie einige Ressourcenpools als
env:dev
undenv:prod
getaggt haben. Weitere Informationen finden Sie unter Lernprogramm: Verwenden von Tags in Cloud Assembly zum Verwalten von vSphere-Ressourcen. - Sie müssen über eine bereitstellbare Cloud-Vorlage ähnlich der folgenden verfügen. Dieses Lernprogramm beginnt mit der folgenden Vorlage.
formatVersion: 1 inputs: installedOS: type: string title: Operating System description: Select the operating system. enum: - centos - ubuntu placement: type: string enum: - 'env:dev' - 'env:prod' default: 'env:dev' title: Select Placement for Deployment description: Target Environment resources: Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 1 Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: '${input.installedOS}' installedOS: '${input.installedOS}' flavor: small constraints: - tag: '${input.placement}' tags: - key: db value: mysql networks: - network: '${resource.Cloud_NSX_Network_1.id}' tags: - key: db value: mysql attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing tags: - key: NGINX value: web
Schritt 1: Eingaben zur Cloud-Vorlage hinzufügen
Zusätzlich zur vorhandenen Eingabe vom Typ Betriebssystem aktualisiert dieser Vorgang die Platzierungseingabe und fügt eine Größeneingabe hinzu. Wenn Sie das Anforderungsformular im Service Broker anpassen, werden diese drei Felder im Anforderungsformular angepasst.
- Klicken Sie in Cloud Assembly auf und erstellen oder öffnen Sie die oben genannte Vorlage.
Die Beispielvorlage wird verwendet, um die verschiedenen Optionen zu erläutern. Sie enthält Beispielwerte. Passen Sie sie an Ihre Umgebung an.
- Fügen Sie die Größenvariable hinzu und definieren Sie die Größen im Abschnitt „Eingaben“.
- Fügen Sie im Abschnitt „Cloud_vSphere_Machine_1“ eine Variable zur Eigenschaft
flavor
hinzu.flavor: '${input.size}'
- Fügen Sie im Abschnitt „Eingaben“ die Größe eines Benutzereingabenamens hinzu, damit der Benutzer die Größe der Bereitstellung auswählen kann. Dies wird manchmal als T-Shirt-Sizing bezeichnet, das Sie für die Cloud-Zonen definiert haben.
size: type: string title: Deployment size description: Select the the deployment t-shirt size. enum: - small - medium - large
- Fügen Sie im Abschnitt „Cloud_vSphere_Machine_1“ eine Variable zur Eigenschaft
- Aktualisieren Sie die Platzierungseingaben mit einem aussagekräftigen Begriff anstelle von Tag-Zeichenfolgen.
Diese Einschränkungs-Tags werden mit den Funktions-Tags abgeglichen, die Sie in Lernprogramm: Verwenden von Tags in Cloud Assembly zum Verwalten von vSphere-Ressourcen hinzugefügt haben.
- Fügen Sie im Abschnitt „Eingaben“ eine Benutzereingabe mit dem Namen Platzierung hinzu, damit der Benutzer als Bereitstellungsplatzierung zwischen Entwicklung und Produktion auswählen kann.
In diesem Beispiel wird das Attribut
oneOf
verwendet. Damit können Sie eine Bezeichnung in natürlicher Sprache präsentieren, während Sie weiterhin die Zeichenfolgen übermitteln, die für den Bereitstellungsvorgang erforderlich sind, z. B. die Tagsenv:dev
undenv:prod
.placement: type: string oneOf: - title: Development const: 'env:dev' - title: Production const: 'env:prod' default: 'env:dev' title: Select Deployment Placement description: Target Environment
- Fügen Sie im Abschnitt „Eingaben“ eine Benutzereingabe mit dem Namen Platzierung hinzu, damit der Benutzer als Bereitstellungsplatzierung zwischen Entwicklung und Produktion auswählen kann.
- Überprüfen Sie die vollständige YAML, um sicherzustellen, dass sie dem folgenden Beispiel ähnelt.
formatVersion: 1 inputs: installedOS: type: string title: Operating system description: Select the operating system. enum: - centos - ubuntu placement: type: string oneOf: - title: Development const: 'env:dev' - title: Production const: 'env:prod' default: 'env:dev' title: Select Deployment Placement description: Target Environment size: type: string title: Deployment size description: Select the the deployment t-shirt size. enum: - small - medium - large resources: Cloud_vSphere_Disk_1: type: Cloud.vSphere.Disk properties: capacityGb: 1 Cloud_vSphere_Machine_1: type: Cloud.vSphere.Machine properties: image: '${input.installedOS}' installedOS: '${input.installedOS}' flavor: '${input.size}' constraints: - tag: '${input.placement}' tags: - key: db value: mysql networks: - network: '${resource.Cloud_NSX_Network_1.id}' tags: - key: db value: mysql attachedDisks: - source: '${resource.Cloud_vSphere_Disk_1.id}' Cloud_NSX_Network_1: type: Cloud.NSX.Network properties: networkType: existing tags: - key: NGINX value: web
- Klicken Sie auf Bereitstellen und prüfen Sie, ob die zweite Seite der Anforderung dem folgenden Beispiel ähnelt. Im Anschluss an die Bereitstellung können Sie überprüfen, ob sich die Bereitstellung in der ausgewählten Entwicklung des Produktionsressourcenpools befindet.
Schritt 2: Cloud-Vorlage versionieren und freigeben
Wenn Sie über eine bereitstellbare Vorlage verfügen, können Sie diese jetzt im Service Broker-Katalog für andere bereitzustellende Verwendungen verfügbar machen. Damit die Cloud-Vorlage auffindbar ist und zum Katalog hinzugefügt werden kann, müssen Sie sie freigeben. In diesem Verfahren werden wir sie versionieren, einen Snapshot der Vorlage erstellen und die Vorlage dann freigeben.
- Wählen Sie aus und öffnen Sie die Vorlage in der Design-Arbeitsfläche.
- Klicken Sie auf Version und geben Sie eine Beschreibung ein.
- Aktivieren Sie das Kontrollkästchen Freigeben und klicken Sie auf Erstellen.
Durch die Freigabe wird die Cloud-Vorlage nicht automatisch zu Service Broker hinzugefügt. Durch die Freigabe wird sie auffindbar, sodass Sie sie zum Katalog hinzufügen können.
Schritt 3: Cloud-Vorlage zum Service Broker-Katalog hinzufügen
Sie können den Service Broker-Katalog verwenden, um Cloud-Vorlagen für andere Verbraucher in Ihrer Organisation zur Verfügung zu stellen. Die Verbraucher benötigen dafür keine Kenntnisse im Erstellen von Vorlagen. Über den Katalog können sie die Vorlage bereitstellen.
Bevor Sie die Vorlage als Katalogelement hinzufügen können, müssen Sie sie in Service Broker importieren. Sie können nur freigegebene Cloud-Vorlagen importieren.
- Um Service Broker aus Cloud Assembly zu öffnen, klicken Sie oben rechts auf das Anwendungsmenü.
- Klicken Sie auf Service Broker.
- Importieren Sie die Cloud-Vorlage.
- Klicken Sie in Service Broker auf .
- Klicken Sie auf Neu und dann auf VMware Cloud Templates.
- Geben Sie einen Namen ein.
Geben Sie für dieses Lernprogramm Cloud Assembly DevProject ein.
- Wählen Sie unter Projekt das Entwicklungsprojekt aus, das Sie in Cloud Assembly erstellt haben.
- Klicken Sie auf Validieren.
Das System muss angeben, dass mindestens ein Element gefunden wurde.
- Klicken Sie nach der Validierung auf Erstellen und importieren.
Cloud Assembly DevProject wird der Liste als Inhaltsquelle hinzugefügt.
- Stellen Sie die Cloud-Vorlage im Katalog zur Verfügung.
- Wählen Sie aus.
- Klicken Sie auf Neue Richtlinie und dann auf Inhaltsfreigaberichtlinie.
- Geben Sie einen Namen ein.
Geben Sie für dieses Lernprogramm DevProject-Richtlinie ein.
- Wählen Sie in der Liste Geltungsbereich die Option Entwicklungsprojekt aus.
- Klicken Sie im Abschnitt Inhaltsfreigabe auf Elemente hinzufügen.
- Wählen Sie im Dialogfeld Elemente freigeben die Option
Cloud Assembly DevProject
aus und klicken Sie auf Speichern. - Wählen Sie im Abschnitt Benutzer die Projektbenutzer und -gruppen aus, denen das Element im Katalog angezeigt werden soll.
- Klicken Sie auf Erstellen.
- Um sicherzustellen, dass die Entwicklungsvorlage zum Katalog hinzugefügt wurde, klicken Sie auf .
- Klicken Sie auf der Karte „Entwicklungsvorlage“ auf Anfordern.
Beachten Sie, dass die in der Cloud-Vorlage angezeigten Eingaben hier bereitgestellt werden. Der nächste Schritt besteht in der Anpassung des Anforderungsformulars.
Schritt 4: Benutzerdefiniertes Formular für die Vorlage erstellen
Dieses benutzerdefinierte Formular soll dem Benutzer die Möglichkeit geben, das Betriebssystem und die Platzierung basierend auf den Tags „env:dev“ oder „env:prod“ auszuwählen. Bei der Option „env:dev“ hat der Benutzer dann die Auswahl zwischen den Größen „klein“ und „mittel“. Die Option „groß“ ist nicht verfügbar. Wenn der Benutzer hingegen „env:prod“ auswählt, ist nur die Größe „groß“ verfügbar. Die Größe wird für den Benutzer verborgen, ist aber in der Anforderung enthalten.
- Zum Erstellen eines benutzerdefinierten Formulars in Service Broker wählen Sie aus.
- Klicken Sie links neben dem Eintrag „Entwicklungsvorlage“ auf die vertikale Ellipse und anschließend auf Formular anpassen.
- Passen Sie die Eingabeoption an.
- Klicken Sie auf Felder in der Arbeitsfläche und konfigurieren Sie die Eigenschaften wie in der folgenden Tabelle angegeben.
Feldname in der Arbeitsfläche Darstellung Werte Einschränkungen Betriebssystem Bezeichnung und Typ
- Bezeichnung = Betriebssystem
Wertoptionen
- Mögliche Werte = Konstante
- Wertquelle =
centos|CentOS,ubuntu|Ubuntu
In diesem Beispiel werden die möglichen Werte verwendet, um die Namen aller kleingeschriebenen Betriebssystemnamen mit dem bevorzugten Betriebssystemnamen anzupassen.
Bereitstellungsplatzierung auswählen Wertoptionen
- Mögliche Werte = Konstante
- Wertquelle =
env:dev|Development,env:prod|Production
Bereitstellungsgröße Sichtbarkeit
- Wertquelle = Bedingter Wert
- Eingestellter Wert = „Ja“, wenn die ausgewählte Bereitstellungsplatzierung „env:dev“ lautet
Standardwert
- Wertquelle = Bedingter Wert
- Eingestellter Wert = „groß“, wenn der ausgewählte Bereitstellungstyp „env:prod“ lautet
Wertoptionen
- Mögliche Werte = Konstante
- Wertquelle =
small|Small,medium|Medium
Beachten Sie, dass die Wertquelle nicht die Option „groß“ enthält. „Groß“ ist ausgeschlossen, da dieser Wert nur für die Produktion verfügbar ist und der erforderliche Wert ist. Der Wert „groß“ ist ohne vom Benutzer initiierte Aktion in der Bereitstellungsanforderung enthalten.
- Um das Formular im Katalog zu aktivieren, klicken Sie auf Aktivieren.
- Klicken Sie auf Speichern.
- Klicken Sie auf Felder in der Arbeitsfläche und konfigurieren Sie die Eigenschaften wie in der folgenden Tabelle angegeben.
- Testen Sie das Formular im Katalog, um sich zu vergewissern, ob es die richtigen Ergebnisse hervorbringt. Übermitteln Sie dazu mindestens eine Anforderung für eine kleine Entwicklungsumgebung und eine Anforderung für eine Produktionsumgebung.
Überprüfen Sie die Ergebnisse anhand der folgenden Beispiele.
- Testen Sie das Anforderungsformular für die kleine Entwicklungsumgebung, indem Sie einen Namen angeben (in diesem Beispiel: „Test small“) und als Optionen „CentOS“, „Entwicklung“ und „klein“ auswählen.
- Wählen Sie zum Überprüfen der Bereitstellung für eine kleine Entwicklungsumgebung aus und klicken Sie auf die Bereitstellung „Test small“.
- Klicken Sie auf der Registerkarte „Topologie“ auf „Cloud_vSphere_Machine“ und suchen Sie dann im rechten Fensterbereich den Abschnitt „Benutzerdefinierte Eigenschaften“.
Einige der zu überprüfenden Werte beinhalten „cpuCount = 2“ und „Typ = klein“.
- Testen Sie das Anforderungsformular für die Produktionsumgebung, indem Sie in diesem Beispiel den Namen Test large eingeben und die Optionen „CentOS“ und „Produktion“ auswählen.
Zur Erinnerung: Sie haben das Formular so konfiguriert, dass die Größe weder angezeigt wird noch der Benutzer die Größe auswählen muss.
- Wählen Sie zum Überprüfen der Bereitstellung für eine Produktionsumgebung aus und klicken Sie auf die Bereitstellung „Test large“.
- Klicken Sie auf der Registerkarte „Topologie“ auf „Cloud_vSphere_Machine“ und suchen Sie dann im rechten Fensterbereich den Abschnitt „Benutzerdefinierte Eigenschaften“.
Einige der zu überprüfenden Werte beinhalten „cpuCount = 8“ und „Typ = groß“.
- Testen Sie das Anforderungsformular für die kleine Entwicklungsumgebung, indem Sie einen Namen angeben (in diesem Beispiel: „Test small“) und als Optionen „CentOS“, „Entwicklung“ und „klein“ auswählen.
Schritt 5: Steuern der Versionen der Cloud-Vorlage im Katalog
In den meisten Fällen möchten Sie lediglich die aktuellen Cloud-Vorlagen im Service Broker-Katalog zur Verfügung stellen. Das folgende Verfahren unterstützt die iterative Entwicklung, bei der Sie eine Version der Vorlage freigeben und zum Katalog hinzufügen. Die Vorlage wurde nun jedoch verbessert, und Sie möchten die aktuelle Version durch die neuere Version ersetzen.
In Schritt 2 haben Sie eine Vorlage versioniert und freigegeben, d. h., Sie sind bereits mit dem Vorgang vertraut. In Schritt 3 haben Sie sie zum Katalog hinzugefügt. Das Verfahren verbindet die beiden Schritte, während Sie die iterative Entwicklung durchführen und den Katalog mit der neuesten Version aktualisieren.
Sie haben die Möglichkeit, mehrere Versionen im Katalog zur Verfügung zu stellen.
- Versionieren Sie in Cloud Assembly die Vorlage, die Sie jetzt im Katalog zur Verfügung stellen möchten.
- Wählen Sie aus und öffnen Sie die Vorlage in der Design-Arbeitsfläche.
- Klicken Sie auf Versionsverlauf.
- Suchen Sie nach der Version, die Sie zum Katalog hinzufügen möchten, und klicken Sie auf Version.
- Geben Sie eine Beschreibung ein, aktivieren Sie das Kontrollkästchen Freigeben und klicken Sie auf Erstellen.
An dieser Stelle haben Sie die Möglichkeit, die alte Version im Katalog beizubehalten. Wenn Sie mehrere Versionen benötigen, ignorieren Sie den nächsten Schritt, in dem Sie die Freigabe einer Version aufheben.
- Um nur eine Version der Vorlage im Katalog zur Verfügung zu stellen, überprüfen Sie die Versionsverlaufsliste und klicken Sie auf Freigabe aufheben für jede Version, die nicht im Katalog benötigt wird.
- Um den Service Broker-Katalog mit der neuesten Version zu aktualisieren und eine beliebige alte Version zu ersetzen, müssen Sie die neue Version verwenden.
- Klicken Sie in Service Broker auf .
- Klicken Sie auf die Cloud Assembly DevProject-Inhaltsquelle, die in diesem Lernprogramm verwendet wird.
- Klicken Sie auf Validieren.
Eine Meldung mit dem Hinweis auf ein gefundenes Element wird angezeigt.
- Klicken Sie auf Speichern und importieren.
- Stellen Sie sicher, dass im Katalog die notwendigen Versionen oder keine Versionen angezeigt werden.
- Klicken Sie in Service Broker auf .
- Suchen Sie nach dem Katalogelement und klicken Sie auf Anfordern.
- Klicken Sie oben im Anforderungsformular auf die Version und überprüfen Sie die Version bzw. Versionen.
Der folgende Screenshot zeigt 8.