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
eenv: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.
- In Cloud Assembly, selezionare 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.
- Aggiungere la variabile size e definire le dimensioni nella sezione Input.
- Nella sezione Cloud_vSphere_Machine_1, aggiungere una variabile alla proprietà
flavor
.flavor: '${input.size}'
- 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
- Nella sezione Cloud_vSphere_Machine_1, aggiungere una variabile alla proprietà
- 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.
- 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 tagenv:dev
eenv: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
- Nella sezione Input, aggiungere un input utente denominato placement in modo che l'utente possa selezionare sviluppo o produzione come posizionamento della distribuzione.
- 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
- 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.
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.
- Selezionare e aprire il modello nella tela di progettazione.
- Fare clic su Versione e immettere una descrizione.
- 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.
- Per aprire Service Broker da Cloud Assembly, fare clic sul menu delle applicazioni nell'angolo superiore destro.
- Fare clic su Service Broker.
- Importare il modello cloud.
- In Service Broker, selezionare .
- Fare clic su Nuovo e quindi selezionare VMware Cloud Templates.
- Immettere un nome in Nome.
Per questo tutorial, immettere Cloud Assembly DevProject.
- In Progetto, selezionare il progetto di sviluppo creato in Cloud Assembly.
- Fare clic su Convalida.
Il sistema deve indicare che ha trovato almeno un elemento.
- Dopo la convalida, fare clic su Crea e importa.
Cloud Assembly DevProject viene aggiunto all'elenco come origine del contenuto.
- Rendere il modello cloud disponibile nel catalogo.
- Selezionare .
- Fare clic su Nuovo criterio e quindi su Criterio di condivisione dei contenuti.
- Immettere un nome.
Per questo tutorial, immettere Criterio DevProject .
- Nell'elenco Ambito, selezionare Development Project.
- Nella sezione Condivisione dei contenuti, fare clic su Aggiungi elementi.
- Nella finestra di dialogo Condividi elementi, selezionare
Cloud Assembly DevProject
e fare clic su Salva. - Nella sezione Utenti, selezionare gli utenti e i gruppi del progetto in cui si desidera visualizzare l'elemento nel catalogo.
- Fare clic su Crea.
- Per verificare che il modello di sviluppo sia stato aggiunto al catalogo, fare clic su Catalogo.
- 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.
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.
- Per creare un modulo personalizzato in Service Broker, selezionare .
- Fare clic sui puntini di sospensione verticali a sinistra della voce Modello di sviluppo, quindi fare clic su Modulo personalizzato.
- Personalizzare l'opzione di input.
- 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.
- Per attivare il modulo nel catalogo, fare clic su Abilita.
- Fare clic su Salva.
- Nella tela, fare clic sui campi e configurare le proprietà come specificato nella tabella seguente.
- 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.
- 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.
- Per verificare la distribuzione Development Small, selezionare e fare clic sulla distribuzione Test small.
- 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.
- 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.
- Per verificare la distribuzione Production, selezionare e fare clic sulla distribuzione Test large.
- 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.
- 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.
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.
- In Cloud Assembly, assegnare una versione al modello che ora si desidera rendere disponibile nel catalogo.
- Selezionare e aprire il modello nella tela di progettazione.
- Fare clic su Cronologia versioni.
- Individuare la versione che si desidera aggiungere al catalogo e fare clic su Versione.
- 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.
- 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.
- Per aggiornare il catalogo di Service Broker con la versione più recente e sostituire qualsiasi versione precedente, è necessario raccogliere la nuova versione.
- In Service Broker, selezionare .
- Fare clic sull'origine del contenuto di Cloud Assembly DevProject utilizzata in questo tutorial.
- Fare clic su Convalida.
Dovrebbe essere visualizzato un messaggio che indica che è stato trovato un elemento.
- Fare clic su Salva e importa.
- Verificare che nel catalogo siano visualizzate le versioni necessarie o nessuna versione.
- In Service Broker, fare clic su Catalogo.
- Individuare l'elemento del catalogo e fare clic su Richiedi.
- Nella parte superiore del modulo di richiesta, fare clic su Versione e verificare la versione o le versioni.
La seguente schermata indica 8.