Como configurar o ambiente do Google Cloud

Esta página descreve as etapas para configurar seu ambiente do Google Cloud para distribuir seus apps Kubernetes.

Criar o espaço de trabalho

Recomendamos que você crie um novo projeto no console do Google Cloud, principalmente para os produtos do Cloud Marketplace.

Para gerenciar produtos enviados ao Cloud Marketplace, recomendamos que você crie um novo projeto com um ID do projeto que termine em -public. Para criar um projeto para seus produtos, consulte Como criar e gerenciar projetos.

Se você já tiver um projeto configurado para vender no Cloud Marketplace que quer usar, verifique se os papéis do Identity and Access Management (IAM) são concedidos corretamente para o Kubernetes e pule para Configurar um Container Registry.

Conceder papéis ao seu projeto

Para concluir a configuração do projeto, siga estas etapas:

  1. Depois de criar o projeto, conceda os seguintes papéis no nível do projeto:

    • Editor do projeto, para cloud-commerce-marketplace-onboarding@twosync-src.google.com
    • Administrador do Service Management (roles/servicemanagement.serviceAdmin), para cloud-commerce-marketplace-onboarding@twosync-src.google.com e managed-services@cloud-marketplace.iam.gserviceaccount.com
    • Editor de configuração (roles/servicemanagement.configEditor), para cloud-commerce-producer@system.gserviceaccount.com

    Para conceder acesso ao seu projeto, consulte Como conceder, alterar e revogar acesso a recursos.

  2. Conceda os seguintes papéis no nível do serviço a cloud-commerce-procurement@system.gserviceaccount.com:

    • Consumidor do serviço (roles/servicemanagement.serviceConsumer)
    • Controlador de serviço (roles/servicemanagement.serviceController)

    Para conferir as etapas de concessão de acesso no nível do serviço, consulte Como conceder e revogar o acesso à API.

  3. Defina um contato de segurança. Para saber mais, consulte Como gerenciar contatos para notificações.

  4. Preencha o formulário de informações do projeto que a equipe do Cloud Marketplace envia a você.

Configurar um Container Registry

Você precisa de um repositório do Container Registry para hospedar as imagens de contêiner do seu app. O Artifact Analysis verifica continuamente as imagens do aplicativo em busca de vulnerabilidades. Assim, é possível analisar e resolver problemas antes de enviar seu produto ao Cloud Marketplace.

Para configurar o Container Registry, o Docker e o SDK do Google Cloud, siga o início rápido do Container Registry.

Depois de configurar o Container Registry, no projeto que contém seu registro, conceda a função de leitor de projeto a cloud-commerce-marketplace-onboarding@twosync-src.google.com.

Ativar a API Container Analysis

Você precisa ativar a API Artifact Analysis, que verifica as imagens do contêiner no Container Registry quanto a vulnerabilidades. Para ter uma visão geral da verificação de vulnerabilidades no Artifact Analysis, consulte a Documentação do Container Registry.

Adicionar seu produto ao Cloud Marketplace

Para criar e publicar seu produto no Cloud Marketplace, use o Portal do Produtor. Seu Engenheiro de parceiros ativa o portal para você depois que você preencher o Formulário de informações do projeto do Cloud Marketplace.

Para publicar seu produto no Portal do Produtor, crie uma entrada para o produto e envie as seguintes informações para análise:

  • Detalhes do produto: adicione informações de listagem e de marketing sobre o produto.
  • Preços: escolha e especifique o modelo de preços para determinar como os clientes vão pagar pelo seu produto.
  • Imagens de contêiner: forneça o repositório do Google Container Registry que inclui as imagens do contêiner.
  • Conformidade com código aberto: verifique se o produto está em conformidade com as políticas do Google para software de código aberto.

Essas avaliações podem ser enviadas a qualquer momento e em qualquer ordem. A aprovação de algumas revisões pode levar até duas semanas. Por isso, recomendamos que você analise os requisitos e dê os primeiros passos o quanto antes.

Para criar uma entrada do Cloud Marketplace do seu produto:

  1. Abra o Portal do Produtor no Console do Google Cloud:

    https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
    

    Substitua YOUR_PUBLIC_PROJECT_ID pelo ID do projeto público que você criou para o Cloud Marketplace, por exemplo, my-organization-public.

  2. Na parte superior da página, clique em Adicionar produto.

  3. Selecione Kubernetes.

  4. Em Nome do produto, dê um nome para a solução e verifique o ID do produto. O ID do produto é usado no URL da sua listagem do Cloud Marketplace.

  5. Clique em Criar. A criação da sua solução pode levar alguns segundos.

Você adiciona seu modelo de preços e informações de marketing para sua solução nas etapas posteriores.

Criar um cluster de desenvolvimento no Kubernetes Engine

Você usa o Google Kubernetes Engine para gerenciar e dimensionar clusters do Kubernetes. Para criar um cluster de teste e implantar um aplicativo básico, siga o Guia de início rápido do Google Kubernetes Engine.

Instalar a ferramenta de desenvolvimento mpdev

A ferramenta mpdev é um contêiner que agrupa utilitários para testar e publicar as imagens do aplicativo. Embora não seja necessário instalar mpdev para enviar um aplicativo para liberação, você pode executar mpdev para verificar seu ambiente de desenvolvimento e testar se o aplicativo é instalado corretamente no cluster de desenvolvimento.

Instale mpdev no repositório GitHub das ferramentas do Cloud Marketplace.

Para mais informações sobre como usar o mpdev para verificar seu ambiente e testar seu aplicativo, consulte a referência do mpdev no GitHub.

Como organizar seus lançamentos

Em geral, todas as versões do seu aplicativo devem adotar o Versionamento semântico 2.0, que segue a convenção de numeração MAJOR.MINOR.PATCH. Toda versão deve ter um número de versão exclusivo, como 1.0.1, 1.0.2, 1.3.1 e assim por diante. Opcionalmente, adicione um hífen após o número da versão para adicionar um modificador de pré-lançamento, como 1.3.1-alpha201910. Modificadores de pré-lançamento podem ser usados para armazenar e destacar qualquer informação adicional que você achar útil, como datas de criação que indicam quando as versões foram criadas.

Recomendamos que você libere seu software em faixas. Cada faixa é uma série de versões com atualizações compatíveis com versões anteriores. As faixas de lançamento precisam ser baseadas em uma versão secundária, como 4.1.x. Como prática recomendada, evite usar nomes genéricos de versão como latest.

Por exemplo, se você estiver lançando a versão 2.0 do seu software no Cloud Marketplace e esperar que as versões 2.0.1, 2.0.5 e assim por diante sejam compatíveis com versões anteriores com 2.0, organize esses lançamentos na faixa de lançamento 2.0.

Quando você lançar uma versão incompatível com versões anteriores do seu aplicativo ou uma versão que exija que os usuários passem pelas etapas de migração manual, libere-a em uma nova faixa, para que os usuários possam planejar suas atualizações.

Escolher os identificadores de produto

Você deve selecionar os seguintes identificadores para sua empresa, produto e imagens de contêiner, usados para criar URLs do Cloud Marketplace e os URIs para suas imagens de contêiner:

  • O nome da empresa. Por exemplo, se o nome da sua empresa for Examplesoft Inc., você poderá usar o identificador examplesoft.

  • O nome do produto. Por exemplo, se o nome do produto for Example Pro, use o identificador example-pro.

  • A faixa de lançamento do seu produto, como 4.0.

    Veja os requisitos para organizar seus lançamentos.

  • As imagens do contêiner. Selecione um identificador exclusivo para cada imagem de contêiner no seu aplicativo. Os seguintes identificadores são necessários para todos os aplicativos:

    • A imagem principal: essa imagem de contêiner é a principal do produto e usa o mesmo identificador do produto. Por exemplo, se o identificador do produto for example-pro, a imagem principal usará o mesmo identificador.
    • deployer: a imagem do contêiner de implantação para a faixa. O contêiner de implantação é executado quando os usuários implantam seu aplicativo no Console do Google Cloud. Você cria uma imagem de implantação ao criar o pacote de aplicativos.

Por exemplo, a empresa Examplesoft Inc. escolhe os seguintes identificadores para o produto, Example Pro:

Nome Identificador
Empresa Examplesoft Inc examplesoft
Produto Example Pro example-pro
Imagem [1] (principal) Example Pro server n/d
Imagem [2] Example Queue example-queue
Imagem [implantador] n/d deployer
Faixa de lançamento [1] Version 4.x.x 4,0
Faixa de lançamento [2] Version 5.x.x 5.0

Para esses identificadores, as seguintes informações são geradas automaticamente:

  • O URL do produto no Cloud Marketplace: https://console.cloud.google.com/marketplace/details/examplesoft/example-pro

  • Os URIs da imagem do contêiner:

    • 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