Configurazione dell'ambiente Google Cloud

Questa pagina descrive i passaggi per configurare l'ambiente Google Cloud in modo da poter distribuire le app Kubernetes.

Creare lo spazio di lavoro

Ti consigliamo di creare un nuovo progetto nella console Google Cloud principalmente per i tuoi prodotti Cloud Marketplace.

Per gestire i prodotti inviati 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 la pagina Creare e gestire progetti.

Se hai già configurato un progetto da vendere su Cloud Marketplace che vuoi utilizzare, verifica che i ruoli di Identity and Access Management (IAM) siano concessi correttamente per Kubernetes e vai a Configurare un registry dei container.

Concedi i ruoli per il tuo 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:

    • Project Editor, 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
    • Editor di configurazione (roles/servicemanagement.configEditor), a cloud-commerce-producer@system.gserviceaccount.com

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

  2. 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 Concedere e revocare l'accesso all'API.

  3. Imposta un contatto per la sicurezza. Per saperne di più, consulta la pagina relativa alla gestione dei contatti per le notifiche.

  4. Compila il modulo Informazioni sul progetto fornito dal team di Cloud Marketplace.

Configurare un registry dei container

Per ospitare le immagini container per la tua app, hai bisogno di un repository Container Registry. Artifact Analysis esegue continuamente la scansione delle immagini dell'app per rilevare le vulnerabilità, in modo da poter esaminare e risolvere i problemi prima di inviare il prodotto a Cloud Marketplace.

Per configurare Container Registry, Docker e l'Google Cloud SDK, segui la guida rapida di Container Registry.

Dopo aver configurato Container Registry, nel progetto che contiene il registry, concedi il ruolo Visualizzatore progetto a cloud-commerce-marketplace-onboarding@twosync-src.google.com.

Abilita l'API Container Analysis

Devi attivare l'API Artifact Analysis, che esegue la scansione delle immagini dei container in Container Registry per rilevare le vulnerabilità. Per una panoramica dell'analisi delle vulnerabilità in Artifact Analysis, consulta la documentazione di Container Registry.

Aggiungere il prodotto a Cloud Marketplace

Per creare e pubblicare il tuo prodotto in Cloud Marketplace, utilizza il Portale del produttore. Il Partner Engineer la attiverà per te dopo che avrai compilato il modulo di informazioni sul progetto per Cloud Marketplace.

Per pubblicare il tuo prodotto in Producer Portal, crea una voce per il prodotto e invia le seguenti informazioni per la revisione:

  • Dettagli del prodotto: aggiungi informazioni di marketing e sulla scheda del prodotto.
  • Prezzi: scegli e specifica il tuo modello di prezzi per determinare in che modo i clienti ti pagheranno per il tuo prodotto.
  • Immagini container: fornisci il repository Google Container Registry che include le immagini container.
  • Conformità open source: assicurati che il tuo prodotto sia conforme alle linee guida di Google per il software open source.

Puoi inviare queste revisioni in qualsiasi momento e in qualsiasi ordine. Per alcune revisioni potrebbe essere necessario attendere fino a due settimane per l'approvazione, quindi ti consigliamo di esaminare i requisiti e iniziare il prima possibile.

Per creare la voce di Cloud Marketplace del tuo prodotto:

  1. Apri il 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 del prodotto, assegna un nome al prodotto e controlla l'ID prodotto. L'ID prodotto viene utilizzato nell'URL della tua scheda di Cloud Marketplace.

  5. Fai clic su Crea. La creazione del prodotto potrebbe richiedere alcuni secondi.

Aggiungerai il modello di prezzi e le informazioni di marketing per la tua soluzione in fasi successive.

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 eseguire il deployment di un'app di base, segui la guida rapida di Google Kubernetes Engine.

Installa lo strumento di sviluppo mpdev

Lo strumento mpdev è un contenitore che raggruppa utilità per testare e pubblicare le immagini delle app. Sebbene l'installazione di mpdev non sia obbligatoria per inviare un'app per la release, puoi eseguire mpdev per verificare il tuo ambiente di sviluppo e per verificare se l'app si installa correttamente nel 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 pagina relativa al riferimento di 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, come 1.3.1-alpha201910. I modificatori pre-release possono essere utilizzati per memorizzare e mettere in evidenza eventuali informazioni aggiuntive che ritieni utili, ad esempio le date di compilazione che indicano quando sono state create le versioni.

Ti consigliamo di rilasciare il software in canali. Ogni canale è costituito da una serie di versioni con aggiornamenti compatibili con le versioni precedenti. I canali di rilascio devono essere basati su una versione secondaria, ad esempio 4.1.x. Come best practice, evita di utilizzare nomi di versioni 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 di 2.0, organizza queste release nel canale di release 2.0.

Quando pubblichi una versione non compatibile con le versioni precedenti della tua app o una versione che richiede agli utenti di eseguire la procedura di migrazione manuale, pubblicala su un nuovo canale in modo che gli utenti possano pianificare i propri aggiornamenti.

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 per le 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 prodotto, ad esempio 4.0.

    Consulta i requisiti per organizzare le uscite.

  • Le tue immagini container. Seleziona un identificatore univoco per ogni immagine contenitore nella tua app. I seguenti identificatori sono obbligatori per tutte le app:

    • L'immagine principale: questa immagine contenitore è 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 identificativo.
    • deployer: l'immagine del container di deployment per il canale. Il contenitore di deployment viene eseguito quando gli utenti eseguono il deployment dell'app dalla console Google Cloud. Puoi creare un'immagine di deployment quando crei il pacchetto dell'app.

Ad esempio, la società Examplesoft Inc. sceglie i seguenti identificatori per il suo prodotto Example Pro:

Nome Identificatore
Società Examplesoft Inc examplesoft
Prodotto Esempio Pro example-pro
Immagine [1] (principale) Server Pro di esempio n/a
Immagine [2] Coda di esempio example-queue
Immagine [deployer] n/a deployer
Canale di release [1] Versione 4.x.x 4.0
Canale di release [2] Versione 5.x.x 5,0

Per 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 delle immagini 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