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:
In Producer Portal, vai alla sezione Pacchetto di deployment.
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.
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 deployment fai clic su Configura.
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.
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.
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 il networking, puoi specificare le impostazioni per Inoltro IP e configurare le regole del firewall.
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.
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 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:
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 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 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 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, vedigoog_cm_deployment_name
nel modulo Terraform personalizzato di esempio.Nel file
metadata.display.yaml
, devi specificareET_GCE_DISK_IMAGE
come il tipoxGoogleProperty
per tutte le variabili immagine. Ad esempio, vedimetadata.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:
In Producer Portal, vai alla sezione Pacchetto di deployment.
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.
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 creato nel passaggio precedente, al nome dell'immagine VM 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 Autorizzazioni IAM (Identity and Access Management) per i dati del bucket.
Configurare impostazioni avanzate facoltative, ad esempio crittografia o dati criteri di conservazione.
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 deployment fai clic su Configura.
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:
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
comelatest
e impostaPLATFORM
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 Terraform pacchetto, il flag-q
genera metadati senza bisogno di informazioni per un repository remoto, il flag-d
genera ilmetadata.display.yaml
e il flag--nested=false
genera metadati per il modulo principale, saltando eventuali moduli nella cartellamodules/
.
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.
In Producer Portal, vai alla sezione Pacchetto di deployment.
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.
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.