Esta página descreve os passos para configurar o seu Google Cloud ambiente para poder distribuir as suas apps Kubernetes.
Crie o seu espaço de trabalho
Recomendamos que crie um novo projeto na Google Cloud consola principalmente para os seus produtos do Cloud Marketplace.
Para gerir os produtos que envia para o Cloud Marketplace, recomendamos que
crie um novo projeto com um ID do projeto que termine em -public
. Para criar um projeto para os seus produtos, consulte o artigo Criar e gerir projetos.
Se já tiver um projeto configurado para vender no Cloud Marketplace que quer usar, verifique se as funções de Identity and Access Management (IAM) estão concedidas corretamente para o Kubernetes e avance para Configurar um registo de contentores.
Conceda funções para o seu projeto
Para terminar a configuração do projeto, conclua os passos seguintes:
Depois de criar o projeto, conceda as seguintes funções ao nível do projeto:
- Editor de projeto, para
cloud-commerce-marketplace-onboarding@twosync-src.google.com
- Administrador de gestão de serviços
(
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 o artigo Conceder, alterar e revogar o acesso a recursos.
- Editor de projeto, para
Conceda as seguintes funções ao nível do serviço a
cloud-commerce-procurement@system.gserviceaccount.com
:- Consumidor de serviços (
roles/servicemanagement.serviceConsumer
) - Controlador de serviços (
roles/servicemanagement.serviceController
)
Para ver os passos para conceder acesso ao nível do serviço, consulte o artigo Conceder e revogar o acesso à API.
- Consumidor de serviços (
Defina um contacto de segurança. Para mais informações, consulte o artigo Gerir contactos para notificações.
Preencha o formulário de informações do projeto que a equipa do Cloud Marketplace lhe envia.
Configure um registo de contentores
Precisa de um repositório do Container Registry para alojar as imagens de contentores da sua app. A análise de artefactos analisa continuamente as imagens da app quanto a vulnerabilidades para que possa rever e resolver problemas antes de enviar o seu produto para o Cloud Marketplace.
Para configurar o Container Registry, o Docker e o Google Cloud SDK, siga o início rápido do Container Registry.
Depois de configurar o Container Registry, no projeto que contém o seu registo, conceda a função Leitor do projeto a cloud-commerce-marketplace-onboarding@twosync-src.google.com
.
Ative a API Container Analysis
Tem de ativar a API Artifact Analysis, que analisa as imagens do contentor no Container Registry em busca de vulnerabilidades. Para uma vista geral da análise de vulnerabilidades na análise de artefactos, consulte a documentação do Container Registry.
Adicione o seu produto ao Cloud Marketplace
Para criar e publicar o seu produto no Cloud Marketplace, usa o Producer Portal. O seu engenheiro de parceiros ativa-o depois de preencher o formulário de informações do projeto do Cloud Marketplace.
Para publicar o seu produto no Producer Portal, cria uma entrada para o produto e, em seguida, envia as seguintes informações para revisão:
- Detalhes do produto: adicione informações de marketing e da ficha sobre o seu produto.
- Preços: escolha e especifique o seu modelo de preços para determinar como os clientes lhe pagam pelo seu produto.
- Imagens de contentores: indique o repositório do Google Container Registry que inclui as suas imagens de contentores.
- Conformidade com o código aberto: certifique-se de que o seu produto está em conformidade com as políticas da Google para software de código aberto.
Pode enviar estas críticas em qualquer altura e por qualquer ordem. A aprovação de algumas críticas pode demorar até duas semanas, por isso, recomendamos que reveja os requisitos e comece o mais cedo possível.
Para criar a entrada do seu produto no Cloud Marketplace:
Abra o Producer Portal na Google Cloud consola:
https://console.cloud.google.com/producer-portal?project=YOUR_PUBLIC_PROJECT_ID
Substitua YOUR_PUBLIC_PROJECT_ID pelo ID do projeto público que 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, atribua um nome ao produto e verifique o ID do produto. O ID do produto é usado no URL da sua ficha do Cloud Marketplace.
Clique em Criar. A criação do produto pode demorar alguns segundos.
Adiciona o seu modelo de preços e informações de marketing para a sua solução nos passos posteriores.
Crie um cluster de desenvolvimento no Kubernetes Engine
Usa o Google Kubernetes Engine para gerir e dimensionar clusters do Kubernetes. Para criar um cluster de teste e implementar uma app básica no mesmo, siga o início rápido do Google Kubernetes Engine.
Instale a ferramenta de desenvolvimento mpdev
A ferramenta mpdev
é um contentor que agrupa utilitários para testar e publicar as imagens da sua app. Embora a instalação do mpdev
não seja necessária para enviar uma app para lançamento, pode executar o mpdev
para validar o seu ambiente de desenvolvimento e testar se a app é instalada corretamente no cluster de desenvolvimento.
Instale mpdev
a partir do repositório do GitHub das ferramentas do Cloud Marketplace.
Para obter informações sobre como usar o mpdev
para verificar o seu ambiente e testar a sua app,
consulte a
referência mpdev no GitHub.
Organizar os seus lançamentos
Em geral, todas as versões da sua app têm de adotar a versão semântica 2.0, que segue a convenção de numeração MAJOR.MINOR.PATCH
. Cada versão tem de ter um número de versão exclusivo, como 1.0.1
, 1.0.2
, 1.3.1
, etc.
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
. Os modificadores de pré-lançamento podem ser usados para armazenar e
realçar quaisquer informações adicionais que considere úteis, como datas de compilação
que indicam quando as versões foram criadas.
Recomendamos que lance o seu software em faixas. Cada faixa é uma série de versões com atualizações retrocompatíveis. As suas faixas de lançamento devem basear-se numa versão secundária, como 4.1.x
. Como prática recomendada, evite usar nomes de versões genéricos, como latest
.
Por exemplo, se estiver a lançar 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 sucessivamente
sejam retrocompatíveis com a versão 2.0
, organize estes lançamentos na faixa de lançamento 2.0
.
Quando lançar uma versão da sua app retroincompatível ou uma versão que exija que os utilizadores sigam passos de migração manuais, lance-a numa nova faixa para que os utilizadores possam planear as respetivas atualizações.
Escolha os identificadores dos seus produtos
Tem de selecionar os seguintes identificadores para a sua empresa, produto e imagens de contentores, que são usados para criar os URLs do Cloud Marketplace e os URIs das suas imagens de contentores:
O nome da sua empresa. Por exemplo, se o nome da sua empresa for Examplesoft Inc., pode 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 suas imagens de contentor. Selecione um identificador exclusivo para cada imagem de contentor na sua app. Os seguintes identificadores são obrigatórios para todas as apps:
- A imagem principal: esta imagem do contentor é a imagem principal do seu produto e usa o mesmo identificador que o produto. Por exemplo, se o identificador do produto for
example-pro
, a imagem principal usa o mesmo identificador. deployer
: a imagem do contentor de implementação da faixa. O contentor de implementação é executado quando os utilizadores implementam a sua app a partir da Google Cloud consola Cria uma imagem de implementação quando cria o pacote da app.
- A imagem principal: esta imagem do contentor é a imagem principal do seu produto e usa o mesmo identificador que o produto. Por exemplo, se o identificador do produto for
Por exemplo, a empresa Examplesoft Inc. escolhe os seguintes identificadores para o respetivo produto, Example Pro:
Nome | Identificador | |
---|---|---|
Empresa | Examplesoft Inc | examplesoft |
Produto | Exemplo Pro | example-pro |
Imagem [1] (principal) | Servidor do Example Pro | N/A |
Imagem [2] | Fila de exemplos | example-queue |
Imagem [deployer] | N/A | implementador |
Faixa de lançamento [1] | Versão 4.x.x | 4,0 |
Faixa de lançamento [2] | Versão 5.x.x | 5.0 |
Para estes 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 de imagens de contentores:
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