Como configurar o ambiente do Google Cloud

Nesta página, descrevemos as etapas de configuração do ambiente do Google Cloud para distribuir os apps do 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 os 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 queira usar, verifique se os papéis do Identity and Access Management (IAM) foram concedidos corretamente para o Kubernetes e pule para Configurar um registro de contêiner.

Conceder papéis para o projeto

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

  1. Depois de criar o projeto, conceda os seguintes papéis para envolvidos no 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 projeto, consulte Como conceder, alterar e revogar acesso a recursos.

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

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

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

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

  4. Preencha o formulário de informações do projeto fornecido pela equipe do Cloud Marketplace.

Configurar um Container Registry

Você precisa de um repositório do Container Registry para hospedar as imagens de contêiner do aplicativo. O Artifact Analysis verifica continuamente as imagens do app em busca de vulnerabilidades para que seja 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, conceda o papel de Leitor do projeto a cloud-commerce-marketplace-onboarding@twosync-src.google.com no projeto que contém seu registro.

Ativar a API Container Analysis

É preciso ativar a API Artifact Analysis, que verifica suas imagens de contêiner no Container Registry em busca de 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 ativará esse recurso 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 ele e envie as seguintes informações para revisão:

  • Detalhes do produto: adicione informações de listagem e marketing sobre seu produto.
  • Preços: escolha e especifique o modelo de preços para determinar como os clientes pagam pelo produto.
  • Imagens de contêiner: forneça o repositório do Google Container Registry que inclui suas imagens de contêiner.
  • Conformidade com código aberto: verifique se o produto obedece às 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 a 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 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 o mpdev pelo 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ê está lançando a versão 2.0 do software no Cloud Marketplace e espera que as versões 2.0.1, 2.0.5 e assim por diante sejam compatíveis com versões anteriores da 2.0, organize essas versões 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

Selecione os seguintes identificadores para sua empresa, produto e imagens de contêiner, que são usados para criar os URLs do Cloud Marketplace, e os URIs das 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 o aplicativo no console do Google Cloud. Você cria uma imagem de implantação ao criar o pacote de apps.

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/a 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