Durante lo sviluppo iterativo dei modelli cloud o quando si dispone di un modello finale, è possibile rendere i modelli disponibili per i clienti nel catalogo self-service di Service Broker. Per migliorare ulteriormente l'esperienza utente, è possibile creare un modulo di richiesta personalizzato. Il modulo personalizzato è più avanzato delle semplici opzioni di input del modello.

Operazioni preliminari

  • Verificare di disporre dell'infrastruttura che supporti il modello. In caso contrario, iniziare con Tutorial: configurazione e verifica dell'infrastruttura e delle distribuzioni di vSphere in Cloud Assembly e continuare con gli altri tutorial.
  • Verificare di aver contrassegnato alcuni pool di risorse come env:dev e env:prod. Per ulteriori informazioni, vedere Tutorial: utilizzo dei tag in Cloud Assembly per gestire le risorse di vSphere.
  • Assicurarsi di disporre di un modello cloud distribuibile, simile al seguente. Questo tutorial inizia con il modello seguente.
    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

Passaggio 1: aggiunta di input al modello cloud

Oltre all'input del tipo di sistema operativo esistente, questa procedura aggiorna l'input placement e aggiunge un input size. Quando si personalizza il modulo di richiesta in Service Broker, questi sono i tre campi del modulo di richiesta che vengono personalizzati.

  1. In Cloud Assembly, selezionare Progettazione > Modello cloud e creare o aprire il modello specificato in precedenza.

    Il modello di esempio viene utilizzato per spiegare le diverse opzioni e include valori di esempio. Adattarlo al proprio ambiente.

  2. Aggiungere la variabile size e definire le dimensioni nella sezione Input.
    1. Nella sezione Cloud_vSphere_Machine_1, aggiungere una variabile alla proprietà flavor.
       flavor: '${input.size}'
    2. Nella sezione Input, aggiungere un input utente denominato size in modo che l'utente possa selezionare le dimensioni della distribuzione. In alcuni casi, è denominato anche t-shirt size e viene definito per le zone cloud.
       size:
          type: string
          title: Deployment size
          description: Select the the deployment t-shirt size.
          enum:
            - small
            - medium
            - large
  3. Aggiornare gli input di posizionamento con un termine descrittivo anziché le stringhe di tag.

    Questi tag di vincolo verranno associati ai tag di funzionalità aggiunti in Tutorial: utilizzo dei tag in Cloud Assembly per gestire le risorse di vSphere.

    1. Nella sezione Input, aggiungere un input utente denominato placement in modo che l'utente possa selezionare sviluppo o produzione come posizionamento della distribuzione.

      In questo esempio, viene utilizzato l'attributo oneOf, che consente di presentare un'etichetta di linguaggio naturale continuando a inviare le stringhe necessarie per il processo di distribuzione. Ad esempio, i tag env:dev e 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. Rivedere il codice YAML completo per assicurarsi che sia simile a quello illustrato nell'esempio seguente.
    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. Fare clic su Distribuisci e verificare che la seconda pagina della richiesta sia simile all'esempio seguente. È quindi possibile verificare che la distribuzione si trovi nello sviluppo selezionato del pool di risorse di produzione dopo la distribuzione.

    Pagina due del modulo di richiesta di distribuzione che mostra gli input per tipo di sistema operativo, posizionamento della distribuzione e dimensioni della distribuzione.

Passaggio 2: controllo della versione e rilascio del modello cloud

Quando si dispone di un modello distribuibile, è possibile renderlo disponibile nel catalogo di Service Broker in modo che gli altri utenti possano utilizzarlo per la distribuzione. Per rendere individuabile il modello cloud in modo da poterlo aggiungere al catalogo, è necessario rilasciarlo. In questa procedura, verrà attribuita una versione al modello per acquisirne uno snapshot e quindi il modello verrà rilasciato.

  1. Selezionare Progettazione > Modello cloud e aprire il modello nella tela di progettazione.
  2. Fare clic su Versione e immettere una descrizione.

    Finestra di dialogo di creazione della versione con un numero di versione, una descrizione e la casella di controllo Rilascia selezionata.
  3. Selezionare la casella di controllo Rilascia e fare clic su Crea.

    Quando il modello cloud viene rilasciato, non viene automaticamente aggiunto a Service Broker. Il rilascio lo rende individuabile in modo che sia possibile aggiungerlo al catalogo.

Passaggio 3. aggiunta del modello cloud al catalogo di Service Broker

È possibile utilizzare il catalogo di Service Broker per fornire modelli cloud agli altri utenti dell'organizzazione che non devono necessariamente sapere come si crea un modello. Il catalogo consente loro di distribuire il modello.

Per poter aggiungere il modello come elemento di catalogo, è necessario importarlo in Service Broker. È possibile importare solo modelli cloud rilasciati.

  1. Per aprire Service Broker da Cloud Assembly, fare clic sul menu delle applicazioni nell'angolo superiore destro.
    Il menu delle applicazioni in alto a destra nella pagina è aperto e Service Broker è evidenziato.
  2. Fare clic su Service Broker.
  3. Importare il modello cloud.
    1. In Service Broker, selezionare Contenuti e criteri > Origini contenuto.
    2. Fare clic su Nuovo e quindi selezionare VMware Cloud Templates.
    3. Immettere un nome in Nome.

      Per questo tutorial, immettere Cloud Assembly DevProject.

    4. In Progetto, selezionare il progetto di sviluppo creato in Cloud Assembly.
    5. Fare clic su Convalida.

      Il sistema deve indicare che ha trovato almeno un elemento.

    6. Dopo la convalida, fare clic su Crea e importa.

      Cloud Assembly DevProject viene aggiunto all'elenco come origine del contenuto.

  4. Rendere il modello cloud disponibile nel catalogo.
    1. Selezionare Contenuto e i criteri > Criteri > Definizioni.
    2. Fare clic su Nuovo criterio e quindi su Criterio di condivisione dei contenuti.
    3. Immettere un nome.

      Per questo tutorial, immettere Criterio DevProject .

    4. Nell'elenco Ambito, selezionare Development Project.
    5. Nella sezione Condivisione dei contenuti, fare clic su Aggiungi elementi.
    6. Nella finestra di dialogo Condividi elementi, selezionare Cloud Assembly DevProject e fare clic su Salva.
    7. Nella sezione Utenti, selezionare gli utenti e i gruppi del progetto in cui si desidera visualizzare l'elemento nel catalogo.
    8. Fare clic su Crea.
  5. Per verificare che il modello di sviluppo sia stato aggiunto al catalogo, fare clic su Utilizzo > Catalogo.
  6. Fare clic su Richiedi nella scheda Modello di sviluppo.

    Si noti che qui vengono forniti gli input visti nel modello cloud. Il passaggio successivo consiste nella personalizzazione del modulo di richiesta.


    Il modulo di richiesta del catalogo per l'elemento del catalogo Modello di distribuzione. Include opzioni relative al nome della distribuzione, al sistema operativo, al posizionamento e alle dimensioni della distribuzione.

Passaggio 4: creazione di un modulo personalizzato per il modello

L'obiettivo di questo modulo personalizzato è fornire un modulo in cui l'utente seleziona il sistema operativo e il posizionamento in base ai tag env:dev o env:prod. Quindi l'opzione env:dev consente all'utente di selezionare small o medium. L'opzione large non è disponibile. Tuttavia, se l'utente seleziona env:prod, l'opzione per selezionare large non è presente. L'input size è nascosto all'utente ma è incluso nella richiesta.

  1. Per creare un modulo personalizzato in Service Broker, selezionare Contenuti e criteri > Contenuto.
  2. Fare clic sui puntini di sospensione verticali a sinistra della voce Modello di sviluppo, quindi fare clic su Modulo personalizzato.
  3. Personalizzare l'opzione di input.
    1. Nella tela, fare clic sui campi e configurare le proprietà come specificato nella tabella seguente.
      Nome del campo nella tela Aspetto Valori Vincoli
      Sistema operativo

      Etichetta e tipo

      • Etichetta = Sistema operativo

      Opzioni valore

      • Opzioni valore = Costante
      • Origine valore = centos|CentOS,ubuntu|Ubuntu

      In questo esempio, vengono utilizzate le opzioni dei valori per personalizzare tutti i nomi dei sistemi operativi in minuscolo con il nome del sistema operativo preferito.

      Selezione del posizionamento della distribuzione

      Opzioni valore

      • Opzioni valore = Costante
      • Origine valore = env:dev|Development,env:prod|Production
      Dimensione distribuzione

      Visibilità

      • Origine valore = Valore condizionale
      • Impostare il valore = Yes se la selezione del posizionamento della distribuzione è uguale a env:dev

      Valore predefinito

      • Origine valore = Valore condizionale
      • Impostare il valore = large se la selezione della distribuzione è uguale a env:prod

      Opzioni valore

      • Opzioni valore = Costante
      • Origine valore = small|Small,medium|Medium

      Si noti che l'origine del valore non include large. Large non è presente perché è disponibile solo per la produzione ed è il valore necessario. Il valore large è incluso nella richiesta di distribuzione senza un'azione avviata dall'utente.

    2. Per attivare il modulo nel catalogo, fare clic su Abilita.
    3. Fare clic su Salva.
  4. Per garantire risultati corretti inviando almeno una richiesta Development Small e una richiesta Production, testare il modulo nel catalogo.

    Utilizzare gli esempi seguenti per verificare i risultati.

    1. Eseguire il test del modulo di richiesta Development Small specificando un nome, Test small in questo esempio, e selezionando CentOS, Development e Small come opzioni.
      Modulo di richiesta del catalogo con Test small come nome della distribuzione e Development e Small selezionati.
    2. Per verificare la distribuzione Development Small, selezionare Utilizzo > Distribuzioni > Distribuzioni e fare clic sulla distribuzione Test small.
    3. Nella scheda Topologia, fare clic su Cloud_vSphere_Machine, quindi individuare la sezione Proprietà personalizzate nel riquadro destro.

      Alcuni dei valori da rivedere includono cpuCount = 2 e flavor = small.


      Pagina della topologia di distribuzione con Cloud_vSphere_Machine evidenziato nella tela e i valori cpuCount=2 e flavor=small evidenziati nel riquadro a destra.
    4. Eseguire il test del modulo di richiesta Production immettendo un nome, Test large in questo esempio, quindi selezionare CentOS e Production come opzioni.

      Si tenga presente che il modulo è stato configurato in modo da non visualizzare l'input size, né richiederne l'immissione da parte dell'utente.


      Modulo di richiesta del catalogo con Test large come nome della distribuzione e Production selezionato.
    5. Per verificare la distribuzione Production, selezionare Utilizzo > Distribuzioni > Distribuzioni e fare clic sulla distribuzione Test large.
    6. Nella scheda Topologia, fare clic su Cloud_vSphere_Machine, quindi individuare la sezione Proprietà personalizzate nel riquadro destro.

      Alcuni dei valori da rivedere includono cpuCount = 8 e flavor = large.


      Pagina della topologia di distribuzione con Cloud_vSphere_Machine evidenziato nella tela e i valori cpuCount=8 e flavor=large evidenziati nel riquadro a destra.

Passaggio 5: controllo delle versioni dei modelli cloud nel catalogo

Nella maggior parte dei casi, si desidera rendere disponibili solo i modelli cloud più recenti nel catalogo di Service Broker. La seguente procedura supporta lo sviluppo iterativo, in cui si rilascia una versione del modello e la si aggiunge al catalogo, ma ora il modello è stato migliorato e si desidera sostituire la versione corrente con quella più recente.

Nel passaggio 2 è stata assegnata e rilasciata una versione del modello, quindi si ha già familiarità con il processo. Nel passaggio 3 è stata aggiunta al catalogo. La procedura collega i due passaggi mentre si esegue lo sviluppo iterativo e si aggiorna il catalogo con la versione più recente.

È possibile rendere disponibili più versioni nel catalogo.

  1. In Cloud Assembly, assegnare una versione al modello che ora si desidera rendere disponibile nel catalogo.
    1. Selezionare Progettazione > Modello cloud e aprire il modello nella tela di progettazione.
    2. Fare clic su Cronologia versioni.
    3. Individuare la versione che si desidera aggiungere al catalogo e fare clic su Versione.
    4. Immettere una Descrizione, selezionare la casella di controllo Rilascia e fare clic su Crea.

      A questo punto, è possibile mantenere la versione precedente nel catalogo. Se si desidera mantenere più versioni, ignorare il passaggio successivo che consente di annullare il rilascio di una versione.

    5. Per rendere disponibile una sola versione del modello nel catalogo, rivedere l'elenco della cronologia delle versioni e fare clic su Annulla rilascio per ogni versione che non si desidera mantenere nel catalogo.
  2. Per aggiornare il catalogo di Service Broker con la versione più recente e sostituire qualsiasi versione precedente, è necessario raccogliere la nuova versione.
    1. In Service Broker, selezionare Contenuti e criteri > Origini contenuto.
    2. Fare clic sull'origine del contenuto di Cloud Assembly DevProject utilizzata in questo tutorial.
    3. Fare clic su Convalida.

      Dovrebbe essere visualizzato un messaggio che indica che è stato trovato un elemento.

    4. Fare clic su Salva e importa.
  3. Verificare che nel catalogo siano visualizzate le versioni necessarie o nessuna versione.
    1. In Service Broker, fare clic su Utilizzo > Catalogo.
    2. Individuare l'elemento del catalogo e fare clic su Richiedi.
    3. Nella parte superiore del modulo di richiesta, fare clic su Versione e verificare la versione o le versioni.

    La seguente schermata indica 8.


    Screenshot del nuovo modulo di richiesta con una sola versione disponibile.