Tijdens de itererende ontwikkeling van uw cloudsjablonen of wanneer u een definitieve sjabloon hebt, kunt u de sjablonen beschikbaar maken voor gebruikers in de Service Broker-selfservicecatalogus. Om de gebruikerservaring verder te verbeteren, kunt u een aangepast aanvraagformulier maken. Het aangepaste formulier is krachtiger dan de eenvoudige opties voor sjablooninvoer.

Wat moet u eerst doen

  • Controleer of u over de infrastructuur voor de sjabloon beschikt. Als dat niet zo is, begint u met Tutorial: vSphere-infrastructuur en -implementaties in Cloud Assembly instellen en testen en kunt u verder met de andere tutorials.
  • Controleer of u bepaalde resourcepools hebt getagd als env:dev en env:prod. Zie Tutorials: tags in Cloud Assembly gebruiken om vSphere-resources te beheren voor meer informatie.
  • Zorg ervoor dat u een implementeerbare cloudsjabloon hebt, vergelijkbaar met onderstaande sjabloon. Deze tutorial begint met de volgende sjabloon.
    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

Stap 1: Invoer toevoegen aan de cloudsjabloon

Deze procedure werkt de plaatsingsinvoer bij, naast de invoer voor het bestaande type besturingssysteem, en voegt een invoer voor grootte toe. Wanneer u het aanvraagformulier in Service Broker aanpast, zijn dit de drie velden in het aanvraagformulier die worden aangepast.

  1. Selecteer Ontwerp > Cloudsjabloon in Cloud Assembly en maak of open de bovenstaande sjabloon.

    De voorbeeldsjabloon wordt gebruikt om de verschillende opties uit te leggen en bevat voorbeeldwaarden. Pas deze aan uw omgeving aan.

  2. Voeg de groottevariabele toe en definieer de grootten in de sectie Invoer.
    1. Voeg in de sectie Cloud_vSphere_Machine_1 een variabele toe aan de eigenschap flavor.
       flavor: '${input.size}'
    2. Voeg in de sectie Invoer een naamgrootte voor de gebruikersinvoer toe zodat de gebruiker de grootte van de implementatie kan selecteren. Hier wordt soms naar verwezen als de T-shirtmaat die u hebt gedefinieerd voor de cloudzones.
       size:
          type: string
          title: Deployment size
          description: Select the the deployment t-shirt size.
          enum:
            - small
            - medium
            - large
  3. Werk de invoer voor plaatsing met een beschrijvende term bij, en niet de tagtekenreeks.

    Deze beperkingstags worden afgestemd op de capaciteitstags die u in Tutorials: tags in Cloud Assembly gebruiken om vSphere-resources te beheren hebt toegevoegd.

    1. Voeg in de sectie Invoer een gebruikersinvoer toe met de naam plaatsing zodat de gebruiker ontwikkeling of productie kan selecteren als plaatsing van de implementatie.

      In dit voorbeeld wordt het kenmerk oneOf gebruikt, waarmee u een label in een natuurlijke taal kunt presenteren en tegelijkertijd tekenreeksen kunt indienen die het implementatieproces vereist. Bijvoorbeeld: de tags env:dev en 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. Controleer de volledige YAML om er zeker van te zijn dat deze eruitziet als in het volgende voorbeeld.
    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. Klik op Implementeren. Controleer of de tweede pagina van de aanvraag er als volgt uitziet. Vervolgens kunt u na de implementatie controleren of de implementatie zich in de geselecteerde ontwikkeling met resourcepool voor productie bevindt.

    Pagina twee van het aanvraagformulier voor de implementatie met de invoerwaarden voor het type besturingssysteem, de plaatsing van de implementatie en de implementatiegrootte.

Stap 2: Versie en release van de cloudsjabloon maken

Wanneer u een implementeerbare sjabloon hebt, kunt u deze nu beschikbaar maken in de Service Broker-catalogus voor andere toepassingen. Als u de cloudsjabloon vindbaar wilt maken zodat u deze aan de catalogus kunt toevoegen, moet u deze vrijgeven. In deze procedure wordt een versie gemaakt van de sjabloon, om een momentopname van de sjabloon vast te leggen, en vervolgens wordt de sjabloon vrijgegeven.

  1. Selecteer Ontwerp > Cloudsjabloon en open de sjabloon in het ontwerpcanvas.
  2. Klik op Versie en voer een beschrijving in.

    Dialoogvenster Versie maken met een versienummer, beschrijving en het selectievakje Vrijgeven ingeschakeld.
  3. Schakel het selectievakje Vrijgeven in en klik op Maken.

    Als u de cloudsjabloon vrijgeeft, wordt deze niet automatisch aan de Service Broker toegevoegd. Als u de sjabloon vrijgeeft, is deze detecteerbaar, zodat u deze aan de catalogus kunt toevoegen.

Stap 3: De cloudsjabloon toevoegen aan de Service Broker-catalogus

U kunt de Service Broker-catalogus gebruiken om cloudsjablonen te bieden aan andere gebruikers in uw organisatie waar ze niet hoeven te weten hoe ze een sjabloon moeten maken. In de catalogus kunnen zij de sjabloon implementeren.

Voordat u de sjabloon als catalogusitem kunt toevoegen, moet u deze in Service Broker importeren. U kunt alleen vrijgegeven cloudsjablonen importeren.

  1. Als u Service Broker vanuit Cloud Assembly wilt openen, klikt u op het applicatiemenu in de rechterbovenhoek.
    Het applicatiemenu in de rechterbovenhoek van de pagina is geopend en Service Broker is gemarkeerd.
  2. Klik op Service Broker.
  3. Importeer de cloudsjabloon.
    1. Selecteer Inhoud en beleidsregels > Inhoudsbronnen in Service Broker.
    2. Klik op Nieuw en selecteer vervolgens VMware Cloud Templates.
    3. Voer een naam in.

      Voer in deze tutorial Cloud Assembly DevProject in.

    4. Voor het project selecteert u het Development Project dat u in Cloud Assembly hebt gemaakt.
    5. Klik op Valideren.

      Het systeem moet aangeven dat het ten minste één item heeft gevonden.

    6. Wanneer dit is gevalideerd, klikt u op Maken en importeren.

      Cloud Assembly DevProject wordt als inhoudsbron aan de lijst toegevoegd.

  4. Maak de cloudsjabloon beschikbaar in de catalogus.
    1. Selecteer Inhoud en beleidsregels > Beleidsregels > Definities.
    2. Klik op Nieuw beleid en klik vervolgens op Beleid voor het delen van inhoud.
    3. Voer een naam in.

      Voer in deze tutorial DevProject-beleid in.

    4. Selecteer in de lijst Bereik Ontwikkeling project.
    5. Klik in het gedeelte Inhoud delen op Items toevoegen.
    6. Selecteer in het dialoogvenster Items delen Cloud Assembly DevProject en klik op Opslaan.
    7. Selecteer in het gedeelte Gebruikers de projectgebruikers en -groepen waarvan u wilt dat zij het item in de catalogus zien.
    8. Klik op Maken.
  5. Om te controleren of de ontwikkelingssjabloon aan de catalogus is toegevoegd, klikt u op Catalogus.
  6. Klik op Aanvraag op de kaart Development Template.

    De invoer die u op de cloudsjabloon hebt gezien, moet ook hier te zien zijn. De volgende stap is het aanpassen van het aanvraagformulier.


    Het aanvraagformulier voor de catalogus voor het catalogusitem Deployment Template. Dit omvat de opties implementatienaam, besturingssysteem, plaatsing en implementatiegrootte.

Stap 4: Een aangepast formulier voor de sjabloon maken

Het doel voor dit aangepaste formulier is om een formulier te bieden waarin de gebruiker het besturingssysteem en de plaatsing selecteert op basis van de tags env:dev of env:prod. Vervolgens kan de gebruiker met de optie env:dev small of medium selecteren, large is geen optie. Als de gebruiker echter env:prod selecteert, is er geen optie om large te selecteren, de grootte is verborgen voor de gebruiker, maar wordt opgenomen in de aanvraag.

  1. Als u een aangepast formulier wilt maken in Service Broker, selecteert u Inhoud en beleidsregels > Inhoud.
  2. Klik op de verticale drie puntjes links van de vermelding Development Template en klik op Formulier aanpassen.
  3. Pas de invoeroptie aan.
    1. Klik op velden in het canvas en configureer de eigenschappen zoals opgegeven in de volgende tabel.
      Naam van canvasveld Vormgeving Waarden Beperkingen
      Besturingssysteem

      Label en type

      • Label = Besturingssysteem

      Waardeopties

      • Waardeopties = Constante
      • Waardebron = centos|CentOS,ubuntu|Ubuntu

      In dit voorbeeld worden de waardeopties gebruikt voor het vervangen van alle namen van besturingssystemen met kleine letters door de voorkeursnaam van het besturingssysteem.

      Implementatieplaatsing selecteren

      Waardeopties

      • Waardeopties = Constante
      • Waardebron = env:dev|Development,env:prod|Production
      Implementatiegrootte

      Zichtbaarheid

      • Waardebron = Voorwaardelijke waarde
      • Stel waarde in op Ja als Implementatieplaatsing selecteren gelijk is aan env:dev

      Standaardwaarde

      • Waardebron = Voorwaardelijke waarde
      • Stel waarde in op large als Implementatie selecteren gelijk is aan env:prod

      Waardeopties

      • Waardeopties = Constante
      • Waardebron = small|Small,medium|Medium

      Merk op dat de waardebron large niet bevat. Large is uitgesloten omdat deze alleen beschikbaar is voor Productie en de vereiste waarde is. De grote waarde wordt opgenomen in de implementatieaanvraag zonder een door de gebruiker geïnitieerde actie.

    2. Als u het formulier in de catalogus wilt inschakelen, klikt u op Inschakelen.
    3. Klik op Opslaan.
  4. Test het formulier in de catalogus om de juiste resultaten te garanderen door ten minste een aanvraag Development Small en Production in te dienen.

    Gebruik de volgende voorbeelden om de resultaten te controleren.

    1. Test het aanvraagformulier Development Small door een naam op te geven, Test small in dit voorbeeld, en CentOS, Development en Small te selecteren voor de opties.
      Catalogusaaanvraagformulier met Test small als implementatienaam en Development en Small geselecteerd.
    2. Als u de implementatie Development Small wilt controleren, selecteert u Resources > Implementaties en klikt u op de implementatie Test small.
    3. Klik op het tabblad Topologie op Cloud_vSphere_Machine en zoek vervolgens in het rechterdeelvenster naar de sectie Aangepaste eigenschappen.

      Enkele waarden die moeten worden gecontroleerd zijn cpuCount = 2 en flavor = small.


      De pagina Implementatietopologie met Cloud_vSphere_Machine gemarkeerd in het canvas en cpuCount=2 en flavor=small gemarkeerd in het rechterdeelvenster.
    4. Test het aanvraagformulier Production door een naam in te voeren, Test large in dit voorbeeld, en selecteer CentOS en Production voor de opties.

      Onthoud dat u het formulier zo hebt geconfigureerd dat de grootte niet wordt weergegeven noch door de gebruiker moet worden geselecteerd.


      Catalogusaanvraagformulier met Test large als implementatienaam en Productie geselecteerd.
    5. Om de implementatie Production te controleren, selecteert u Resources > Implementaties en klikt u op de implementatie Test large.
    6. Klik op het tabblad Topologie op Cloud_vSphere_Machine en zoek vervolgens in het rechterdeelvenster naar de sectie Aangepaste eigenschappen.

      Enkele waarden die moeten worden gecontroleerd zijn cpuCount = 8 en flavor = large.


      De pagina Implementatietopologie met Cloud_vSphere_Machine gemarkeerd in het canvas en cpuCount=8 en flavor=large gemarkeerd in het rechterdeelvenster.

Stap 5: de cloudsjabloonversies in de catalogus beheren

In de meeste gevallen wilt u alleen de nieuwste cloudsjablonen beschikbaar maken in de Service Broker-catalogus. De volgende procedure ondersteunt iteratieve ontwikkeling, waarbij u een versie van een sjabloon vrijgeeft en deze aan de catalogus toevoegt, maar u hebt de sjabloon verbeterd en wilt de huidige versie vervangen door de nieuwere versie.

In stap 2 hebt u versies gemaakt en vrijgegeven voor een sjabloon. U bent dus vertrouwd met het proces. In stap 3 hebt u deze aan de catalogus toegevoegd. De procedure koppelt de twee stappen aan elkaar terwijl u iteratieve ontwikkeling uitvoert en de catalogus bijwerkt met de nieuwste versie.

U hebt de optie om meerdere versies beschikbaar te maken in de catalogus.

  1. Maak in Cloud Assembly een versie van de sjabloon die u beschikbaar wilt maken in de catalogus.
    1. Selecteer Ontwerp > Cloudsjabloon en open de sjabloon in het ontwerpcanvas.
    2. Klik op Versiegeschiedenis.
    3. Zoek de versie die u aan de catalogus wilt toevoegen en klik op Versie.
    4. Voer een beschrijving in, schakel het selectievakje Vrijgeven in en klik op Maken.

      Op dit moment hebt u de optie om de oude versie in de catalogus te behouden. Als u meerdere versies wilt, negeert u de volgende stap waar u de vrijgave van een versie ongedaan wilt maken.

    5. Als u slechts één versie van de sjabloon beschikbaar wilt maken in de catalogus, bekijkt u de lijst met de versiegeschiedenis en klikt u op Vrijgave ongedaan maken voor elke versie die u niet in de catalogus wilt hebben.
  2. Als u de Service Broker-catalogus wilt bijwerken met de nieuwste versie, en elke oude versie wilt vervangen, moet u de nieuwe versie verzamelen.
    1. Selecteer Inhoud en beleidsregels > Inhoudsbronnen in Service Broker.
    2. Klik op de Cloud Assembly DevProject-inhoudsbron die in deze tutorial wordt gebruikt.
    3. Klik op Valideren.

      In een bericht wordt gemeld dat er een item is gevonden.

    4. Klik op Opslaan en importeren.
  3. Controleer of de vereiste versies of geen versies worden weergegeven in de catalogus.
    1. Klik in Service Broker op Catalogus.
    2. Zoek het catalogusitem en klik op Aanvragen.
    3. Klik bovenaan het aanvraagformulier op de versie en bekijk de versie of versies.

    De volgende schermafbeelding toont 8.


    Schermafbeelding van het nieuwe aanvraagformulier met één beschikbare versie.