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 und env: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.

  1. Klicken Sie in Cloud Assembly auf Design > Cloud-Vorlage 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.

  2. Fügen Sie die Größenvariable hinzu und definieren Sie die Größen im Abschnitt „Eingaben“.
    1. Fügen Sie im Abschnitt „Cloud_vSphere_Machine_1“ eine Variable zur Eigenschaft flavor hinzu.
       flavor: '${input.size}'
    2. 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
  3. 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.

    1. 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 Tags env:dev und env: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
  4. Ü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
  5. 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.

    Seite 2 des Bereitstellungsanforderungsformulars mit den Eingaben für Betriebssystemtyp, Bereitstellungsplatzierung und Bereitstellungsgröße.

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.

  1. Wählen Sie Design > Cloud-Vorlage aus und öffnen Sie die Vorlage in der Design-Arbeitsfläche.
  2. Klicken Sie auf Version und geben Sie eine Beschreibung ein.

    Dialogfeld zum Erstellen einer Version mit aktivierten Kontrollkästchen für Versionsnummer, Beschreibung und Version.
  3. 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.

  1. Um Service Broker aus Cloud Assembly zu öffnen, klicken Sie oben rechts auf das Anwendungsmenü.
    Das Anwendungsmenü oben rechts auf der Seite wird geöffnet, und Service Broker wird hervorgehoben.
  2. Klicken Sie auf Service Broker.
  3. Importieren Sie die Cloud-Vorlage.
    1. Klicken Sie in Service Broker auf Inhalt und Richtlinien > Inhaltsquellen.
    2. Klicken Sie auf Neu und dann auf VMware Cloud Templates.
    3. Geben Sie einen Namen ein.

      Geben Sie für dieses Lernprogramm Cloud Assembly DevProject ein.

    4. Wählen Sie unter Projekt das Entwicklungsprojekt aus, das Sie in Cloud Assembly erstellt haben.
    5. Klicken Sie auf Validieren.

      Das System muss angeben, dass mindestens ein Element gefunden wurde.

    6. Klicken Sie nach der Validierung auf Erstellen und importieren.

      Cloud Assembly DevProject wird der Liste als Inhaltsquelle hinzugefügt.

  4. Stellen Sie die Cloud-Vorlage im Katalog zur Verfügung.
    1. Wählen Sie Inhalt und Richtlinien > Richtlinien > Definitionen aus.
    2. Klicken Sie auf Neue Richtlinie und dann auf Inhaltsfreigaberichtlinie.
    3. Geben Sie einen Namen ein.

      Geben Sie für dieses Lernprogramm DevProject-Richtlinie ein.

    4. Wählen Sie in der Liste Geltungsbereich die Option Entwicklungsprojekt aus.
    5. Klicken Sie im Abschnitt Inhaltsfreigabe auf Elemente hinzufügen.
    6. Wählen Sie im Dialogfeld Elemente freigeben die Option Cloud Assembly DevProject aus und klicken Sie auf Speichern.
    7. Wählen Sie im Abschnitt Benutzer die Projektbenutzer und -gruppen aus, denen das Element im Katalog angezeigt werden soll.
    8. Klicken Sie auf Erstellen.
  5. Um zu überprüfen, ob die Entwicklungsvorlage zum Katalog hinzugefügt wurde, klicken Sie auf Katalog.
  6. 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.


    Das Kataloganforderungsformular für das Katalogelement „Entwicklungsvorlage“. Hierzu gehören Optionen für den Bereitstellungsnamen, das Betriebssystem, die Platzierung und die Bereitstellungsgröße.

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.

  1. Zum Erstellen eines benutzerdefinierten Formulars in Service Broker wählen Sie Inhalt und Richtlinien > Inhalt aus.
  2. Klicken Sie links neben dem Eintrag „Entwicklungsvorlage“ auf die vertikale Ellipse und anschließend auf Formular anpassen.
  3. Passen Sie die Eingabeoption an.
    1. 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.

    2. Um das Formular im Katalog zu aktivieren, klicken Sie auf Aktivieren.
    3. Klicken Sie auf Speichern.
  4. 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.

    1. 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.
      Kataloganforderungsformular mit „Test small“ als Bereitstellungsname und den ausgewählten Optionen „Entwicklung“ und „klein“.
    2. Klicken Sie zum Überprüfen der Bereitstellung für eine kleine Entwicklungsumgebung auf Ressourcen > Bereitstellungen, und klicken Sie auf die Bereitstellung „Test small“.
    3. 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“.


      Seite „Bereitstellungstopologie“: „Cloud_vSphere_Machine“ ist in der Arbeitsfläche hervorgehoben, und „cpuCount=2“ sowie „Typ=klein“ sind im rechten Fensterbereich hervorgehoben.
    4. 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.


      Kataloganforderungsformular mit „Test large“ als Bereitstellungsname und der ausgewählten Optionen „Produktion“.
    5. Klicken Sie zum Überprüfen der Bereitstellung für eine Produktionsumgebung auf Ressourcen > Bereitstellungen, und klicken Sie auf die Bereitstellung „Test large“.
    6. 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ß“.


      Seite „Bereitstellungstopologie“: „Cloud_vSphere_Machine“ ist in der Arbeitsfläche hervorgehoben, und „cpuCount=8“ sowie „Typ=groß“ sind im rechten Fensterbereich hervorgehoben.

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.

  1. Versionieren Sie in Cloud Assembly die Vorlage, die Sie jetzt im Katalog zur Verfügung stellen möchten.
    1. Wählen Sie Design > Cloud-Vorlage aus und öffnen Sie die Vorlage in der Design-Arbeitsfläche.
    2. Klicken Sie auf Versionsverlauf.
    3. Suchen Sie nach der Version, die Sie zum Katalog hinzufügen möchten, und klicken Sie auf Version.
    4. 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.

    5. 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.
  2. 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.
    1. Klicken Sie in Service Broker auf Inhalt und Richtlinien > Inhaltsquellen.
    2. Klicken Sie auf die Cloud Assembly DevProject-Inhaltsquelle, die in diesem Lernprogramm verwendet wird.
    3. Klicken Sie auf Validieren.

      Eine Meldung mit dem Hinweis auf ein gefundenes Element wird angezeigt.

    4. Klicken Sie auf Speichern und importieren.
  3. Stellen Sie sicher, dass im Katalog die notwendigen Versionen oder keine Versionen angezeigt werden.
    1. Klicken Sie in Service Broker auf Katalog.
    2. Suchen Sie nach dem Katalogelement und klicken Sie auf Anfordern.
    3. Klicken Sie oben im Anforderungsformular auf die Version und überprüfen Sie die Version bzw. Versionen.

    Der folgende Screenshot zeigt 8.


    Screenshot des neuen Anforderungsformulars mit einer verfügbaren Version.