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 con VM singola di deployment con regole firewall di base, ma non supporta alcune come i deployment con più VM e risorse non di calcolo. Se Se hai bisogno di funzionalità non supportate dalla configurazione guidata, puoi utilizzare di configurazione manuale per creare il pacchetto di deployment personalizzare un pacchetto esistente aggiungendovi ulteriori funzionalità.

Passa dalla configurazione guidata alla configurazione manuale e viceversa

Se usi l'opzione di configurazione guidata di Producer Portal e in seguito vuoi passa alla configurazione manuale del pacchetto di deployment, fai clic su Vai alla configurazione manuale.

Completa la configurazione guidata

Per completare la configurazione e inviare un semplice pacchetto di deployment utilizzando 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 denominato 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 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 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 deployment fai clic su Configura.

  5. In Scegli il tipo di macchina, devi specificare una Zona predefinita, Tipo di macchina minimo e Tipo di macchina predefinito per la tua VM prodotto, insieme alle dimensioni e al tipo di disco di avvio.

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

  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 il networking, puoi specificare le impostazioni per Inoltro IP e configurare le regole del firewall.

  9. Se vuoi, in Definisci i passaggi successivi puoi fornire istruzioni per gli utenti del tuo prodotto per guidarli nella procedura di utilizzo. 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 che la convalida del pacchetto di deployment da parte di Cloud Marketplace completato correttamente, fai clic su Pubblica per iniziare a testare il deployment pacchetto.

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 vuoi che i tuoi clienti utilizzino l'impostazione predefinita o al modulo Terraform quando eseguono il deployment del tuo prodotto.

Se scegli di usare il modulo Terraform predefinito, Google Cloud fornisce i tuoi clienti con un codice Terraform generato automaticamente da usare per il deployment il tuo prodotto.

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

per specificare se i tuoi clienti devono utilizzare il modello Terraform predefinito o uno personalizzato e, per i moduli Terraform personalizzati, il modo in cui vuoi che i clienti eseguano il deployment Nel 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 modulo personalizzato deve avere un modulo utilizzabile da Cloud Marketplace 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 tue immagini come Terraform con il formato projects/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 provider 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 modulo personalizzato supporta il deployment dell'interfaccia utente, deve soddisfare i seguenti requisiti requisiti aggiuntivi:

  • Il modulo deve contenere una variabile denominata goog_cm_deployment_name. Cloud Marketplace usa questa variabile per assegnare un nome ai tuoi clienti i deployment nella relativa pagina di deployment. Dovresti usare questa variabile per evitare collisioni di denominazione delle risorse tra più deployment in un progetto. Per per vedere un esempio, vedi goog_cm_deployment_name nel modulo Terraform personalizzato di esempio.

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

  • Se il prodotto contiene immagini con più VM o immagini che supportano più CPU di archiviazione, devi aggiungere enumValueLabels in modo che i clienti possano e selezionare l'immagine VM da utilizzare. Per un esempio, vedi modulo Terraform personalizzato di esempio.

  • Il modulo non deve dipendere dall'assistenza per Provisioner Terraform.

Passaggi aggiuntivi per i moduli Terraform personalizzati

Se hai scelto di utilizzare i moduli Terraform personalizzati, devi completare quanto segue passaggi aggiuntivi per configurare l'immagine VM per il deployment:

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

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

    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 scambiare Versione di proprietà del Marketplace dell'immagine VM quando un cliente esegue il deployment 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 creato nel passaggio precedente, al nome dell'immagine VM 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 Autorizzazioni IAM (Identity and Access Management) per i dati del bucket.

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

  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 deployment fai clic su Configura.

  8. In Ruoli obbligatori, specifica i ruoli IAM dei tuoi clienti per il deployment del prodotto.

(Solo deployment UI) Creare metadati per il tuo modulo Terraform personalizzato

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

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 tuoi moduli personalizzati, completa la seguenti passaggi:

  1. Installa lo strumento dell'interfaccia a riga di comando CFT. Per ulteriori informazioni, visita il Documentazione sull'interfaccia a riga di comando CFT. Ti consigliamo di specificare il valore di VERSION come latest e imposta 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 Terraform pacchetto, il flag -q genera metadati senza bisogno di informazioni per un repository remoto, il flag -d genera il metadata.display.yaml e il flag --nested=false genera metadati per il modulo principale, saltando eventuali moduli nella cartella modules/.

Dopo aver completato i passaggi precedenti, lo strumento dell'interfaccia a riga di comando CFT 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 il sito 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, vedi modulo Terraform personalizzato di esempio.

Convalida i metadati del modulo personalizzato

Per convalidare i metadati del modulo personalizzato, esegui questo 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 usata solo da Cloud Marketplace, esclusivamente per questa verifica in maggior dettaglio più avanti in questo modulo. Se il modello dichiara variabili che non hanno un valore predefinito, se non imposti un valore per queste variabili, il comando non viene eseguito correttamente. Per assicurarti che il comando venga eseguito correttamente, puoi creare un marketplace_test.tfvars per impostare i valori delle variabili che vuoi dichiara il 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 processo di convalida può richiedere fino a due ore viene completata ed è possibile uscire dalla schermata durante l'esecuzione.

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

Passaggi successivi

Dopo aver convalidato e testato il deployment, puoi fare clic Pubblica per inviare il prodotto in generale per la revisione e la pubblicazione su Google Cloud Marketplace. Per maggiori dettagli, vedi Invia il prodotto.