Configura l'immagine VM per il deployment Terraform

Questo articolo descrive come completare la configurazione e inviare l'immagine VM per il deployment con Terraform.

Determina come creare il pacchetto di deployment

Ti consigliamo di utilizzare l'opzione di configurazione guidata di Producer Portal per creare il pacchetto di deployment direttamente nella console Google Cloud.

L'opzione di configurazione guidata supporta prodotti VM semplici, ad esempio i deployment con una sola VM con regole firewall di base, ma non supporta alcune funzionalità complesse, ad esempio i deployment con più VM e risorse non di calcolo. Se hai bisogno di funzionalità non supportate dalla configurazione guidata, puoi utilizzare l'opzione di configurazione manuale per creare il pacchetto di deployment o personalizzare un pacchetto esistente aggiungendo funzionalità aggiuntive.

Passare dalla configurazione guidata a quella manuale e viceversa

Se usi l'opzione di configurazione guidata di Producer Portal e in seguito vuoi configura manualmente il pacchetto di deployment, fai clic Vai alla configurazione manuale.

Completare la configurazione guidata

Per completare la configurazione e inviare un semplice pacchetto di deployment utilizzando la console Google Cloud, completa i seguenti passaggi:

  1. In Producer Portal, vai alla sezione Pacchetto di deployment.

  2. In Configurazione Terraform, accanto al campo di immissione etichettato Bucket Cloud Storage, fai clic su Sfoglia.

    Se hai già creato un bucket Cloud Storage, selezionalo qui.

    Se non hai un bucket Cloud Storage, fai clic sull'icona Crea nuovo bucket. Quando crei un nuovo bucket:

    • Seleziona un nome per il bucket.

    • Specifica la regione o le regioni in cui il bucket archivia i dati.

    • Specifica la classe di archiviazione per i tuoi dati.

    • Determina il livello di granularità da applicare alle autorizzazioni IAM (Identity and Access Management) per i dati del bucket.

    • Configurare impostazioni avanzate facoltative, ad esempio crittografia o dati criteri di conservazione.

  3. Assicurati di abilita il controllo delle versioni degli oggetti per il tuo bucket Cloud Storage.

  4. Per salvare le impostazioni del bucket e continuare a configurare il pacchetto di deployment, fai clic su Configura.

  5. In Scegli il tipo di macchina, devi specificare una Zona predefinita, un Tipo di macchina minimo e un Tipo di macchina predefinito per il prodotto VM, nonché le dimensioni e il tipo del relativo disco di avvio.

  6. In Specifica il sistema operativo, devi specificare il nome e la versione del sistema operativo utilizzato dall'immagine della VM, nonché il numero di versione dell'immagine della VM.

  7. Facoltativamente, in Configura l'accesso alle VM, puoi specificare il sito e l'amministratore URL, oltre a un nome utente e una password, che gli utenti possono utilizzare per accedere della VM dopo il deployment.

  8. Facoltativamente, in Configura la rete, puoi specificare le impostazioni per il forwarding IP e configurare le regole del firewall.

  9. Se vuoi, in Definire i passaggi successivi puoi fornire istruzioni per aiutare gli utenti del tuo prodotto a iniziare a utilizzarlo. Queste istruzioni saranno visibili agli utenti dopo che avranno eseguito il deployment prodotto.

  10. Dopo aver completato i passaggi precedenti, fai clic su Genera per creare un pacchetto di deployment.

    Se in un secondo momento devi apportare ulteriori modifiche al pacchetto di deployment, puoi fare clic su Modifica per apportare modifiche, quindi su Genera rigenerare il pacchetto di deployment applicando le modifiche.

  11. Convalida il pacchetto di deployment in Producer Portal.

  12. Una volta completata la convalida del pacchetto di deployment da parte di Cloud Marketplace, fai clic su Pubblica per iniziare a testarlo.

Completa la configurazione manuale

Questa sezione spiega come utilizzare l'opzione di configurazione manuale per creare un pacchetto di deployment e invialo per la revisione.

Specifica se utilizzare il modulo Terraform predefinito o uno personalizzato

Puoi scegliere se i clienti devono utilizzare il modulo Terraform predefinito o uno personalizzato quando eseguono il deployment del tuo prodotto.

Se scegli di utilizzare il modulo Terraform predefinito, Google Cloud fornisce ai tuoi clienti il codice Terraform generato automaticamente che possono utilizzare per eseguire il deployment del tuo prodotto.

Se scegli di utilizzare un modulo Terraform personalizzato, devi fornire il tuo i modelli Terraform. Puoi scegliere di fornire questi modelli in un formato che i clienti possono implementare utilizzando l'interfaccia a riga di comando (CLI), o con metadati aggiuntivi che consentono ai clienti di implementare i moduli direttamente da Cloud Marketplace.

Per specificare se i clienti devono utilizzare il modulo Terraform predefinito o uno personalizzato e, per i moduli Terraform personalizzati, come vuoi che i clienti eseguino il deployment del modulo, completa i seguenti passaggi:

  1. In Producer Portal, vai alla sezione Pacchetto di deployment.

  2. In Configurazione Terraform, in Tipo, seleziona Predefinito. Personalizzato (deployment CLI) o Personalizzato (deployment UI).

Requisiti per i moduli Terraform personalizzati

Se scegli di utilizzare moduli Terraform personalizzati, il modulo personalizzato deve soddisfare i i seguenti requisiti:

  • Il tuo modulo personalizzato deve avere un modulo che Cloud Marketplace può utilizzare per verificare che soddisfi i requisiti. Per ulteriori informazioni, vedi Verifica che il modulo superi la verifica.

  • Il modulo deve avere una variabile denominata project_id, che archivia il progetto ID utilizzato dai clienti per eseguire il deployment del modulo.

  • Devi specificare i riferimenti ai nomi delle immagini come variabili Terraform, con il formatoprojects/PROJECT_NAME/global/images/IMAGE_NAME. Il valore di default deve essere impostato sul nome dell'immagine VM, in modo che La copia dell'immagine di proprietà di Cloud Marketplace può essere sostituita quando il tuo prodotto VM viene pubblicato.

  • Il modulo non deve dipendere da moduli esterni non inclusi nel pacchetto.

  • Il modulo deve utilizzare solo i seguenti fornitori approvati:

    • archive
    • cloud-init
    • dns
    • google
    • google-beta
    • http
    • null
    • random
    • time
    • tls

Per un esempio di modulo personalizzato conforme a questi requisiti, visita la modulo Terraform personalizzato di esempio.

Requisiti aggiuntivi per i moduli Terraform personalizzati per il deployment dell'interfaccia utente

Se il tuo modulo personalizzato supporta il deployment dell'interfaccia utente, deve soddisfare i seguenti requisiti aggiuntivi:

  • Il modulo deve contenere una variabile denominata goog_cm_deployment_name. Cloud Marketplace utilizza questa variabile per assegnare un nome ai deployment dei tuoi clienti nella pagina di deployment. Devi utilizzare questa variabile per evitare collisioni dei nomi delle risorse tra più implementazioni in un progetto. Per un esempio, consulta goog_cm_deployment_name nel modulo Terraform personalizzato di esempio.

  • Nel file metadata.display.yaml, devi specificare ET_GCE_DISK_IMAGE come tipo xGoogleProperty per tutte le variabili immagine. Ad esempio, vedi metadata.display.yaml nel modulo Terraform personalizzato di esempio.

  • Se il tuo prodotto contiene immagini multi-VM o immagini che supportano più architetture CPU, devi aggiungere enumValueLabels in modo che i clienti possano selezionare l'immagine VM che vogliono utilizzare. Per un esempio, consulta il modulo Terraform personalizzato di esempio.

  • Il modulo non deve dipendere dal supporto per i provisioner Terraform.

Passaggi aggiuntivi per i moduli Terraform personalizzati

Se hai selezionato l'utilizzo di moduli Terraform personalizzati, devi completare i seguenti passaggi aggiuntivi per configurare l'immagine VM per il deployment:

  1. In Producer Portal, vai alla sezione Pacchetto di deployment.

  2. In Configurazione Terraform, fai clic su Variabili immagine in Variabili immagine.

    Per abilitare il deployment Terraform del tuo prodotto, devi avere attivato l'utilizzo delle immagini di proprietà del Marketplace. Cloud Marketplace utilizza la variabile che aggiungi qui per sostituire la versione di proprietà del marketplace dell'immagine VM quando un cliente esegue il deployment del tuo prodotto.

  3. Nel campo di testo Variabile immagine, inserisci un nome per la variabile, ad esempio "immagine".

  4. Nel modulo Terraform personalizzato, imposta il valore predefinito della variabile che hai creato nel passaggio precedente sul nome dell'immagine VM per il tuo prodotto, nel formato projects/YOUR_PROJECT/global/images/YOUR_IMAGE.

  5. In Specifica la posizione dell'oggetto GCS, fai clic su Sfoglia.

    Se hai già creato un bucket Cloud Storage, selezionalo qui.

    Se non hai un bucket Cloud Storage, fai clic sull'icona etichettata Crea nuovo bucket. Quando crei un nuovo bucket:

    • Seleziona un nome per il bucket.

    • Specifica la regione o le regioni in cui il bucket archivia i dati.

    • Specifica la classe di archiviazione per i tuoi dati.

    • Determina il livello di granularità da applicare alle autorizzazioni IAM (Identity and Access Management) per i dati del bucket.

    • Configura le impostazioni avanzate facoltative, come la crittografia o i criteri di conservazione dei dati.

  6. Assicurati che Il controllo delle versioni degli oggetti è abilitato per il tuo bucket Cloud Storage.

  7. Per salvare le impostazioni del bucket e continuare a configurare il pacchetto di deployment, fai clic su Configura.

  8. In Ruoli richiesti, specifica i ruoli IAM che i tuoi clienti devono avere per eseguire il deployment del tuo prodotto.

(Solo deployment dell'interfaccia utente) Crea metadati per il tuo modulo Terraform personalizzato

Affinché il tuo modulo personalizzato supporti il deployment dell'interfaccia utente, devi creare e aggiungere i metadati utilizzati da Cloud Marketplace per analizzare correttamente il modulo e visualizzarlo nell'interfaccia utente per il cliente.

Per creare e aggiungere questi metadati, puoi utilizzare lo strumento open source Strumento di interfaccia a riga di comando CFT. Per utilizzare CFT per creare e aggiungere metadati ai moduli personalizzati, completa i seguenti passaggi:

  1. Installa lo strumento dell'interfaccia a riga di comando CFT. Per ulteriori informazioni, consulta la documentazione dell'interfaccia a riga di comando CFT. Ti consigliamo di specificare il valore VERSION come latest e di impostare PLATFORM su uno dei seguenti valori:

    • linux

    • windows

    • darwin

  2. Esegui questo comando:

     cft blueprint metadata -p TF_PACKAGE_PATH -q -d --nested=false
    

    Nel comando precedente, il flag -p fornisce un percorso per il pacchetto Terraform, il flag -q genera metadati senza richiedere informazioni per un repository remoto, il flag -d genera il file metadata.display.yaml e il flag --nested=false genera metadati per il modulo principale, omettendo eventuali moduli nella cartella modules/.

Dopo aver completato i passaggi precedenti, lo strumento CFT CLI genera due nuovi file:metadata.yaml e metadata.display.yaml.

Personalizza i metadati del tuo modulo Terraform personalizzato

Cloud Marketplace utilizza il file metadata.display.yaml per personalizzare modulo usato dai clienti per eseguire il deployment del prodotto tramite l'interfaccia utente. Se vuoi personalizzare questo modulo, dopo aver creato i tuoi metadati, puoi modificare i valori di i campi in metadata.display.yaml. Per i dettagli sulle risorse opzioni di personalizzazione, visita lo strumento documentazione di BlueprintUI, o consulta le Schema BlueprintUI.

Ti consigliamo di utilizzare l'estensione GooglePropertyExtensions per modificare i metadati. GooglePropertyExtensions consente di utilizzare Convalide specifiche di Google Cloud, ad esempio l'applicazione forzata della possibilità ai clienti seleziona solo le reti Virtual Private Cloud (VPC) già esistenti nelle loro progetto. Per un esempio, consulta il modulo Terraform personalizzato di esempio.

Convalidare i metadati del modulo personalizzato

Per convalidare i metadati del modulo personalizzato, esegui il seguente comando:

cft blueprint metadata -p TF_PACKAGE_PATH -v

Nel comando precedente, il flag -p fornisce un percorso per Terraform e il flag -v convalida tutti i file di metadati nel percorso fornito in base alla Schema BlueprintMetadata.

Verificare che il modulo superi la verifica

Il modulo personalizzato supera la verifica se viene eseguito il seguente comando correttamente:

terraform plan -var project_id=YOUR_PROJECT -var-file marketplace_test.tfvars

Nel comando precedente, marketplace_test.tfvars è un file di variabili Terraform utilizzato solo da Cloud Marketplace, esclusivamente per questa verifica del modulo. Se il modello dichiara variabili che non hanno un valore predefinito e non imposti un valore per queste variabili, il comando non viene eseguito correttamente. Per assicurarti che il comando venga eseguito correttamente, puoi creare un file marketplace_test.tfvars per impostare i valori per le variabili dichiarate dal tuo modello. Per un file marketplace_test.tfvars di esempio, consulta modulo Terraform personalizzato di esempio.

(Facoltativo) (Solo deployment dell'interfaccia a riga di comando) Includi un modulo di test

Facoltativamente, se il modulo personalizzato supporta il deployment dell'interfaccia a riga di comando, puoi scegliere includi una cartella denominata examples/marketplace_test. Ti consigliamo di farlo se il prodotto deve includere un modulo di test separato per verificarne la le funzionalità di machine learning. Se includi questa cartella, per far passare il modulo la verifica, il comando seguente deve essere eseguito correttamente:

terraform -chdir=examples/marketplace_test plan -var project_id=YOUR_PROJECT

Convalida e testa il deployment

Dopo aver creato e configurato il pacchetto di deployment, devi convalidare e testarlo prima che il team di Cloud Marketplace possa rivedere e approvare li annotino.

  1. In Producer Portal, vai alla sezione Pacchetto di deployment.

  2. Fai clic su Validate (Convalida). Il completamento della procedura di convalida può richiedere fino a due ore e puoi uscire dallo schermo durante l'esecuzione.

  3. Al termine della convalida, fai clic su Anteprima deployment. per testare il deployment.

Passaggi successivi

Dopo aver convalidato e testato correttamente il deployment, puoi fare clic su Pubblica per inviare il prodotto complessivo per la revisione e la pubblicazione su Cloud Marketplace. Per maggiori dettagli, vedi Inviare il prodotto.