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:
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
), 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 projeto, consulte Como conceder, alterar e revogar acesso a recursos.
- Editor do projeto, para
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.
- Consumidor de serviço (
Defina um contato de segurança. Para mais informações, consulte Como gerenciar contatos para notificações.
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:
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 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 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
.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.
- 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/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