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:
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
), paracloud-commerce-marketplace-onboarding@twosync-src.google.com
emanaged-services@cloud-marketplace.iam.gserviceaccount.com
- Editor de configuração (
roles/servicemanagement.configEditor
), paracloud-commerce-producer@system.gserviceaccount.com
Para conceder acesso ao seu projeto, consulte Como conceder, alterar e revogar acesso a recursos.
- Editor do projeto, para
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.
- Consumidor do serviço (
Defina um contato de segurança. Para saber mais, consulte Como gerenciar contatos para notificações.
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:
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
.Na parte superior da página, clique em Adicionar produto.
Selecione Kubernetes.
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.
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
.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.
- 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
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