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:
In Producer Portal, vai alla sezione Pacchetto di deployment.
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.
Assicurati di abilita il controllo delle versioni degli oggetti per il tuo bucket Cloud Storage.
Per salvare le impostazioni del bucket e continuare a configurare il pacchetto di deployment, fai clic su Configura.
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.
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.
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.
Facoltativamente, in Configura la rete, puoi specificare le impostazioni per il forwarding IP e configurare le regole del firewall.
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.
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.
Convalida il pacchetto di deployment in Producer Portal.
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:
In Producer Portal, vai alla sezione Pacchetto di deployment.
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 formato
projects/PROJECT_NAME/global/images/IMAGE_NAME
. Il valore didefault
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, consultagoog_cm_deployment_name
nel modulo Terraform personalizzato di esempio.Nel file
metadata.display.yaml
, devi specificareET_GCE_DISK_IMAGE
come tipoxGoogleProperty
per tutte le variabili immagine. Ad esempio, vedimetadata.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:
In Producer Portal, vai alla sezione Pacchetto di deployment.
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.
Nel campo di testo Variabile immagine, inserisci un nome per la variabile, ad esempio "immagine".
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
.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.
Assicurati che Il controllo delle versioni degli oggetti è abilitato per il tuo bucket Cloud Storage.
Per salvare le impostazioni del bucket e continuare a configurare il pacchetto di deployment, fai clic su Configura.
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:
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
comelatest
e di impostarePLATFORM
su uno dei seguenti valori:linux
windows
darwin
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 filemetadata.display.yaml
e il flag--nested=false
genera metadati per il modulo principale, omettendo eventuali moduli nella cartellamodules/
.
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.
In Producer Portal, vai alla sezione Pacchetto di deployment.
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.
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.