Configurazione dell'ambiente Google Cloud

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:

  1. 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), a cloud-commerce-marketplace-onboarding@twosync-src.google.com e managed-services@cloud-marketplace.iam.gserviceaccount.com
    • Config Editor (roles/servicemanagement.configEditor), a cloud-commerce-producer@system.gserviceaccount.com

    Per concedere l'accesso al progetto, vedi Concessione, modifica e revoca dell'accesso alle risorse.

  2. 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.

  3. Imposta un contatto per la sicurezza. Per maggiori informazioni, vedi Gestire i contatti per le notifiche.

  4. 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:

  1. 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.

  2. Nella parte superiore della pagina, fai clic su Aggiungi prodotto.

  3. Seleziona Kubernetes.

  4. 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.

  5. 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.

    Consulta i requisiti per organizzare le tue uscite.

  • 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.

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