In questa pagina vengono descritti i passaggi per configurare l'ambiente Google Cloud in modo da poter distribuire le app Kubernetes.
Crea la tua area di lavoro
Ti consigliamo di creare un nuovo progetto nella console Google Cloud principalmente per i prodotti Cloud Marketplace.
Per gestire i prodotti che invii a Cloud Marketplace, ti consigliamo di creare un nuovo progetto con un ID progetto che termina con -public
. Per creare un progetto per i tuoi prodotti, consulta Creazione e gestione dei progetti.
Se hai già configurato un progetto per la vendita su Cloud Marketplace che vuoi utilizzare, verifica che i ruoli Identity and Access Management (IAM) siano concessi correttamente per Kubernetes e vai a Configurare un Container Registry.
Concedi ruoli per il progetto
Per completare la configurazione del progetto, completa i seguenti passaggi:
Dopo aver creato il progetto, concedi i seguenti ruoli a livello di progetto:
- Editor di progetto, a
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
- Config Editor (
roles/servicemanagement.configEditor
), acloud-commerce-producer@system.gserviceaccount.com
Per concedere l'accesso al progetto, vedi Concessione, modifica e revoca dell'accesso alle risorse.
- Editor di progetto, a
Concedi i seguenti ruoli a livello di servizio a
cloud-commerce-procurement@system.gserviceaccount.com
:- Consumatore del servizio (
roles/servicemanagement.serviceConsumer
) - Titolare del servizio (
roles/servicemanagement.serviceController
)
Per la procedura da seguire per concedere l'accesso a livello di servizio, vedi Concessione e revoca dell'accesso all'API.
- Consumatore del servizio (
Imposta un contatto per la sicurezza. Per maggiori informazioni, vedi Gestire i contatti per le notifiche.
Compila il modulo delle informazioni sul progetto fornito dal team di Cloud Marketplace.
Configura un Container Registry
Per ospitare le immagini container per la tua app, è necessario un repository Container Registry. Artifact Analysis analizza continuamente le immagini dell'app per individuare eventuali vulnerabilità, in modo da poter esaminare e risolvere i problemi prima di inviare il prodotto a Cloud Marketplace.
Per configurare Container Registry, Docker e Google Cloud SDK, segui la guida rapida di Container Registry.
Dopo aver configurato Container Registry, concedi il ruolo Visualizzatore progetto a cloud-commerce-marketplace-onboarding@twosync-src.google.com
nel progetto che contiene il tuo registro.
Abilita l'API Container Analysis
Devi abilitare l'API Artifact Analysis, che analizza le immagini container in Container Registry per rilevare eventuali vulnerabilità. Per una panoramica dell'analisi delle vulnerabilità in Artifact Analysis, consulta la documentazione di Container Registry.
Aggiungi il tuo prodotto a Cloud Marketplace
Per creare e pubblicare il tuo prodotto in Cloud Marketplace, utilizza Producer Portal. Il tuo Partner Engineer ti abilita dopo aver completato il modulo per le informazioni sul progetto Cloud Marketplace.
Per pubblicare il prodotto in Producer Portal, devi creare una voce per il prodotto, quindi inviare le seguenti informazioni per la revisione:
- Dettagli del prodotto: aggiungi informazioni sulla scheda del prodotto e di marketing.
- Prezzi: scegli e specifica il tuo modello di prezzi per determinare in che modo i clienti ti pagano per il tuo prodotto.
- Immagini container: fornisci il repository di Google Container Registry contenente le tue immagini container.
- Conformità open source: assicurati che il tuo prodotto sia conforme alle norme di Google per il software open source.
Puoi inviare queste recensioni in qualsiasi momento e in qualsiasi ordine. L'approvazione di alcune revisioni potrebbe richiedere fino a due settimane, quindi consigliamo di esaminare i requisiti e di iniziare il prima possibile.
Per creare la voce di Cloud Marketplace per il tuo prodotto:
Apri Producer Portal nella console Google Cloud:
https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
Sostituisci YOUR_PUBLIC_PROJECT_ID con l'ID del progetto pubblico che hai creato per Cloud Marketplace, ad esempio
my-organization-public
.Nella parte superiore della pagina, fai clic su Aggiungi prodotto.
Seleziona Kubernetes.
In Nome prodotto, assegna un nome al prodotto e controlla l'ID prodotto. L'ID prodotto viene utilizzato nell'URL della scheda di Cloud Marketplace.
Fai clic su Crea. Potrebbero essere necessari alcuni secondi per creare il prodotto.
Nei passaggi successivi dovrai aggiungere il modello di prezzi e le informazioni di marketing per la tua soluzione.
Crea un cluster di sviluppo in Kubernetes Engine
Per gestire e scalare i cluster Kubernetes, utilizzerai Google Kubernetes Engine. Per creare un cluster di test ed eseguire il deployment di un'app di base al suo interno, segui la guida rapida di Google Kubernetes Engine.
Installa lo strumento di sviluppo mpdev
Lo strumento mpdev
è un container che raggruppa le utilità per testare e pubblicare le immagini dell'app. Sebbene non sia necessario installare mpdev
per inviare un'app per il rilascio, puoi eseguire mpdev
per verificare il tuo ambiente di sviluppo e verificare se l'app viene installata correttamente sul cluster di sviluppo.
Installa mpdev
dal repository GitHub degli strumenti di Cloud Marketplace.
Per informazioni sull'utilizzo di mpdev
per controllare l'ambiente e testare l'app, consulta la documentazione di riferimento mpdev su GitHub.
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
, 1.3.1
e così via.
Se vuoi, aggiungi un trattino dopo il numero di versione per aggiungere un modificatore pre-release,
ad esempio 1.3.1-alpha201910
. I modificatori pre-release possono essere utilizzati per archiviare ed evidenziare eventuali informazioni aggiuntive che ritieni utili, 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 release devono essere basati su una versione secondaria, ad esempio 4.1.x
. Come best practice, evita di usare
nomi di versione generici come latest
.
Ad esempio, se stai rilasciando la versione 2.0
del tuo software su Cloud Marketplace e prevedi che le versioni 2.0.1
, 2.0.5
e così via saranno compatibili con le versioni precedenti con 2.0
, organizza queste release nel canale di rilascio 2.0
.
Quando rilasci una versione incompatibile con le versioni precedenti dell'app o una versione che richiede agli utenti di eseguire passaggi di migrazione manuale, rilasciala in un nuovo canale, in modo che gli utenti possano pianificare gli aggiornamenti.
Scegli gli ID prodotto
Devi selezionare i seguenti identificatori per la tua azienda, il tuo prodotto e le immagini container, utilizzati per creare i tuoi URL di Cloud Marketplace e gli URI delle 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 prodotto. Ad esempio, se il nome del prodotto è Example Pro, utilizza l'identificatore
example-pro
.Il canale di rilascio del prodotto, ad esempio
4.0
.Le immagini container. Seleziona un identificatore univoco per ogni immagine container nella tua app. I seguenti identificatori sono obbligatori per tutte le app:
- L'immagine principale: questa immagine container è l'immagine principale del
prodotto e utilizza lo stesso identificatore del prodotto. Ad esempio, se l'ID prodotto è
example-pro
, l'immagine principale utilizza lo stesso identificatore. deployer
: l'immagine container di deployment per il canale. Il container di deployment viene eseguito quando gli utenti eseguono il deployment della tua app dalla console Google Cloud. Puoi creare un'immagine di deployment quando crei il pacchetto dell'app.
- L'immagine principale: questa immagine container è l'immagine principale del
prodotto e utilizza lo stesso identificatore del prodotto. Ad esempio, se l'ID prodotto è
Ad esempio, l'azienda Examplesoft Inc. sceglie i seguenti identificatori per il suo prodotto, Example Pro:
Nome | Identificatore | |
---|---|---|
Società | Examplesoft Inc | softwarediesempio |
Prodotto | Esempio Pro | esempio-pro |
Immagine [1] (principale) | Server Pro di esempio | n/d |
Immagine [2] | Coda di esempio | coda di esempio |
Immagine [deployer] | n/d | deployer |
Traccia di rilascio [1] | Versione 4.x.x | 4.0 |
Canale di rilascio [2] | Versione 5.x.x | 5,0 |
Per questi identificatori, vengono generate automaticamente le seguenti informazioni:
URL del prodotto in Cloud Marketplace:
https://console.cloud.google.com/marketplace/details/examplesoft/example-pro
Gli URI dell'immagine container:
marketplace.gcr.io/examplesoft/example-pro:4.0
marketplace.gcr.io/examplesoft/example-pro/example-queue:4.0
marketplace.gcr.io/examplesoft/example-pro/deployer:4.0
marketplace.gcr.io/examplesoft/example-pro:5.0
marketplace.gcr.io/examplesoft/example-pro/example-queue:5.0
marketplace.gcr.io/examplesoft/example-pro/deployer:5.0