Prima di eseguire l'onboarding dell'app Terraform Kubernetes tramite Producer Portal, ti consigliamo di preparare l'ambiente Google Cloud e l'app Terraform Kubernetes per Google Cloud Marketplace.
Prima di iniziare
Per accedere a Producer Portal, assicurati di aver compilato il modulo di informazioni sul progetto Cloud Marketplace.
Creare il workspace
Ti consigliamo di creare un nuovo progetto nella
consoleGoogle Cloud ,
con un ID progetto che termina con -public
, principalmente per i tuoi prodotti Cloud Marketplace. Per istruzioni dettagliate, vedi
Creazione e gestione dei progetti.
Se hai già configurato un progetto per la vendita su Cloud Marketplace, verifica che i ruoli Identity and Access Management (IAM) siano concessi correttamente per Kubernetes e vai direttamente a Configurare Artifact Registry in questo documento.
Concedi ruoli Identity and Access Management e specifica un contatto per la sicurezza per il tuo progetto
Per concedere ruoli Identity and Access Management (IAM) e specificare un contatto per la sicurezza per il tuo progetto, completa i seguenti passaggi:
Concedi i seguenti ruoli IAM a livello di progetto:
- Editor progetto, per
cloud-commerce-marketplace-onboarding@twosync-src.google.com
- Amministratore Service Management
(
roles/servicemanagement.serviceAdmin
), acloud-commerce-marketplace-onboarding@twosync-src.google.com
emanaged-services@cloud-marketplace.iam.gserviceaccount.com
- Editor di configurazione (
roles/servicemanagement.configEditor
), percloud-commerce-producer@system.gserviceaccount.com
Per istruzioni dettagliate, vedi Concessione, modifica e revoca dell'accesso alle risorse.
- Editor progetto, per
Concedi i seguenti ruoli, a livello di servizio, a
cloud-commerce-procurement@system.gserviceaccount.com
:- Consumer servizi (
roles/servicemanagement.serviceConsumer
) - Responsabile controllo servizi (
roles/servicemanagement.serviceController
)
Per i passaggi per concedere l'accesso a livello di servizio, vedi Concessione e revoca dell'accesso all'API.
- Consumer servizi (
Specifica un contatto per la sicurezza. Per saperne di più, vedi Gestione dei contatti per le notifiche.
Configura Artifact Registry
Per configurare Artifact Registry:
- Installa gcloud CLI.
Per aggiornare un'installazione esistente, esegui il comando
gcloud components update
. Nota: su Ubuntu, utilizza il pacchetto Debian per installare gcloud CLI. Il pacchetto snap gcloud CLI non includekubectl
o estensioni per l'autenticazione con Artifact Registry utilizzando gcloud CLI. - Installa Docker se non è già installato.
- Attiva l'API Artifact Registry, che ti consente di eseguire il push in Artifact Registry.
Abilita l'API - Crea un repository Artifact Registry di staging. Per la procedura dettagliata, consulta Archiviare immagini container Docker in Artifact Registry.
- Attiva Artifact Analysis, che consente la scansione della sicurezza, per il repository Artifact Registry.
- Tagga ed esegui il push delle immagini che vuoi distribuire nella tua app nel repository di staging di Artifact Registry.
Tagga e invia le tue immagini
Per taggare ed eseguire il push delle immagini in Artifact Registry:
- Scegli il percorso del repository di staging di Artifact Registry. Ti consigliamo di utilizzare la seguente struttura per il repository:
us-docker.pkg.dev/YOUR_PARTNER_ID/YOUR_SOLUTION_ID
. Il repository di staging deve trovarsi all'interno dius-docker.pkg.dev
. Cloud Marketplace non supporta altre regioni o dominigcr.io
, comeeurope-docker.pkg.dev
,gcr.io
oeu.gcr.io
, per le app Kubernetes Terraform. - Salva o copia il percorso del repository di staging per quando crei il prodotto in Producer Portal.
- Crea l'immagine di cui vuoi eseguire il push nel repository di staging di Artifact Registry.
Utilizza Docker per taggare l'immagine con il numero di versione, ad esempio
1.0
:docker tag IMAGE_NAME STAGING_REPO_PATH:VERSION_NUMBER
Ad esempio, questo comando potrebbe essere:
docker tag test-image us-docker.pkg.dev/testpartner/testsolution:1.0
.Utilizza
gcloud
per eseguire il push dell'immagine:gcloud docker push STAGING_REPO_PATH:tag
Per ogni tag o immagine aggiuntiva che vuoi aggiungere al repository di staging, ripeti i passaggi precedenti. Puoi aggiungere più tag a una singola immagine.
Il push di un'immagine nel repository di staging non la rende automaticamente visibile agli utenti. Le immagini diventano visibili agli utenti dopo la pubblicazione.
Crea un cluster di sviluppo in Kubernetes Engine
Utilizzi Google Kubernetes Engine per gestire e scalare i cluster Kubernetes. Per creare un cluster di test ed eseguirvi il deployment di un'app di base, segui la guida rapida di Google Kubernetes Engine.
Organizzare le uscite
In generale, ogni versione della tua app deve adottare
il controllo delle versioni semantico 2.0, che
segue la convenzione di numerazione MAJOR.MINOR.PATCH
. Ogni versione deve avere un
numero di versione univoco, ad esempio 1.0.1
, 1.0.2
o 1.3.1
. (Facoltativo) Per aggiungere
un modificatore di pre-release, utilizza un trattino dopo il numero di versione, ad esempio
1.3.1-alpha201910
. Puoi utilizzare i modificatori di pre-release per memorizzare ed evidenziare
qualsiasi informazione aggiuntiva che ritieni utile, ad esempio le date di build che indicano
quando sono state create le versioni.
Ti consigliamo di rilasciare il software in tracce. Ogni traccia è una serie
di versioni con aggiornamenti compatibili con le versioni precedenti. I canali di rilascio devono essere
basati su versioni secondarie, ad esempio 4.1.x
. Evita di utilizzare nomi di versioni generici,
ad esempio newest
.
Ad esempio, se rilasci la versione 2.0
della tua app su
Cloud Marketplace e prevedi che le versioni 2.0.1
, 2.0.5
e successive
saranno compatibili con le versioni precedenti a 2.0
, organizza queste release nella traccia di rilascio 2.0
.
Quando rilasci una versione della tua app non compatibile con le versioni precedenti o una versione che richiede agli utenti di eseguire passaggi di migrazione manuale, rilasciala su un nuovo canale, in modo che gli utenti possano pianificare gli aggiornamenti.
Crea e carica il wrapper del modulo Terraform su Cloud Storage
Devi fornire un modulo Terraform che gli utenti di Cloud Marketplace possano utilizzare per eseguire il deployment dell'app Terraform Kubernetes. Questo modulo utilizza il provider Helm per eseguire il deployment dei grafici Helm che hai fornito. Per i passaggi per creare un modulo Terraform compatibile con l'app Terraform Kubernetes, consulta la guida per i partner Terraform Kubernetes su GitHub.
Scegli gli identificatori dei prodotti
Devi selezionare i seguenti identificatori per la tua azienda, il tuo prodotto e le tue immagini container, che vengono utilizzati per creare gli URL di Cloud Marketplace e gli URI delle tue immagini container:
- Il nome della tua azienda. Ad esempio, se il nome della tua azienda è Examplesoft
Inc., puoi utilizzare l'identificatore
examplesoft
. - Il nome del tuo prodotto. Ad esempio, se il nome del prodotto è Example Pro, utilizza
l'identificatore
example-pro
. - Il canale di rilascio del tuo prodotto, ad esempio
4.0
. Per maggiori dettagli, vedi Organizzare le release, in precedenza in questa pagina.
ID prodotto di esempio
Ad esempio, la società Examplesoft Inc. sceglie i seguenti identificatori per il suo prodotto Example Pro:
Nome | Identificatore | |
---|---|---|
Società | Examplesoft Inc | examplesoft |
Prodotto | Example Pro | example-pro |
Grafico Helm | Grafico Helm | grafico |
Immagine [1] | Database di esempio | example-db |
Immagine [2] | Coda di esempio | example-queue |
Canale di release [1] | Versione 4.x.x | 4.0 |
Canale di release [2] | Versione 5.x.x | 5,0 |
A partire da questi identificatori, vengono generate automaticamente le seguenti informazioni:
- L'URL del prodotto in Cloud Marketplace:
https://console.cloud.google.com/marketplace/details/examplesoft/example-pro
- Gli URI di Artifact Registry nel tuo progetto:
us-docker.pkg.dev/examplesoft/example-pro/chart:4.0
us-docker.pkg.dev/examplesoft/example-pro/example-db:4.0
us-docker.pkg.dev/examplesoft/example-pro/example-query:4.0
us-docker.pkg.dev/examplesoft/example-pro/chart:5.0
us-docker.pkg.dev/examplesoft/example-pro/example-db:5.0
us-docker.pkg.dev/examplesoft/example-pro/example-query:5.0
Passaggi successivi
Dopo aver configurato l'ambiente per le app Terraform Kubernetes, continua a preparare le app per la pubblicazione completando i seguenti passaggi: Google Cloud
- Aggiungi l'app Kubernetes Terraform a Producer Portal.
- Aggiungi le informazioni sui prezzi per la tua app.
- Configura il deployment della tua app, inclusi il grafico Helm e le immagini container.