As apps do Kubernetes do Terraform no Google Cloud Marketplace permitem que os seus clientes usem o Terraform para implementar as suas apps em contentores no Google Kubernetes Engine. Os seus utilizadores não pagam pela utilização das suas apps do Terraform Kubernetes, mas pagam pela utilização dos recursos do Google Cloud . Pode oferecer apps do Terraform Kubernetes publicamente a todos os utilizadores do Cloud Marketplace ou de forma privada através de ofertas privadas.
As apps Kubernetes do Terraform que oferece através do Cloud Marketplace definem as respetivas configurações através de gráficos Helm, que aloja no Artifact Registry. Depois de configurar o Producer Portal, integra a sua app no Cloud Marketplace através deste.
Vista geral da integração de uma app Kubernetes do Terraform
Oferecer uma app do Terraform Kubernetes através do Cloud Marketplace envolve os seguintes passos:
Prepare a sua app Kubernetes do Terraform para o Cloud Marketplace. Isto inclui a configuração do Artifact Registry e o envio das imagens da sua app para o mesmo.
Adicione informações de preços para a sua app no Producer Portal.
Configure a implementação da sua app no Producer Portal, incluindo o respetivo módulo Terraform, gráfico Helm e imagens de contentores.
Publique o seu produto no Cloud Marketplace. À medida que integra o seu produto, envia várias partes do mesmo para revisão. A equipa do Cloud Marketplace revê cada envio e trabalha consigo para resolver quaisquer problemas antes de o aprovar. Quando todos os envios forem aprovados, pode publicar e lançar o produto em poucos minutos.
Requisitos para apps Kubernetes do Terraform
Todos os produtos que oferece através do Cloud Marketplace têm de estar em conformidade com os requisitos de fichas do Cloud Marketplace.
A sua app Terraform Kubernetes tem de cumprir os seguintes requisitos adicionais:
- A sua app tem de ser executada em nós do GKE que usam processadores x86.
- Todos os gráficos Helm e as imagens de contentores da sua app têm de ser carregados para o registo do Artifact Registry, para o mesmo repositório e projeto que está a usar para a sua app Terraform Kubernetes.
- O registo do Artifact Registry tem de incluir um gráfico Helm.
- O seu módulo do Terraform tem de estar alojado como um ficheiro ZIP num contentor do Cloud Storage localizado no mesmo projeto que está a usar para a sua app do Terraform Kubernetes.
- Tem de ativar o controlo de versões para o contentor do Cloud Storage que usa para alojar o seu módulo do Terraform.
- Tem de incluir um manual do utilizador com passos para implementar a sua app a partir da linha de comandos, configurar a app e usar a app. Para mais detalhes, consulte os requisitos para o manual do utilizador neste documento.
- Para proteger os utilizadores de APIs instáveis, use apenas recursos do Kubernetes beta ou geralmente disponíveis.
Requisitos para as imagens da sua app
As imagens da sua app têm de cumprir os seguintes requisitos:
- Todas as imagens da sua app têm de ser etiquetadas com a faixa de lançamento e a versão atual. Por exemplo, se estiver a lançar a versão
2.0.5
na faixa de lançamento2.0
, todas as imagens correspondentes têm de ser etiquetadas com2.0
e2.0.5
. Para obter detalhes, consulte o artigo Organize os seus lançamentos. Todas as imagens da sua app têm de conter a seguinte anotação no respetivo manifesto de imagens:
com.googleapis.cloudmarketplace.product.service.name=services/SERVICE_NAME
Substitua SERVICE_NAME pelo nome do seu serviço. Para encontrar o nome do serviço, consulte a tabela de produtos na página Vista geral no Producer Portal. Para mais informações acerca das anotações, consulte a documentação da Open Container Initiative sobre as anotações no GitHub.
Requisitos para o seu repositório do Artifact Registry
O gráfico Helm e as imagens de contentores da sua app têm de fazer parte de um único repositório do Artifact Registry.
Por exemplo, se o repositório do Artifact Registry for
us-docker.pkg.dev/exampleproject
, o gráfico Helm e as imagens de contentores da sua app
devem ser semelhantes ao seguinte:
us-docker.pkg.dev/exampleproject/exampleapp/chart
us-docker.pkg.dev/exampleproject/exampleapp/image1
us-docker.pkg.dev/exampleproject/exampleapp/image2
Requisitos do módulo Terraform
Os clientes usam o módulo Terraform para implementar o seu produto a partir do Cloud Marketplace através do Infrastructure Manager. O módulo do Terraform empacota a configuração do Kubernetes da sua app.
Use o módulo de exemplo como ponto de partida e siga o guia do parceiro para criar um módulo do Terraform compatível com a sua app.
Parâmetros transmitidos à sua app
O seu módulo do Terraform tem de declarar parâmetros que precisam de ser recolhidos dos clientes quando selecionam a sua app. Estes parâmetros são, em seguida, fornecidos ao contentor do gráfico Helm quando os utilizadores implementam a app.
Para configurar estes parâmetros, o seu módulo do Terraform tem de incluir um ficheiro schema.yaml
.
Para saber como criar um schema.yaml
, consulte o
guia de criação de um esquema
no GitHub.
Pedidos de clusters de GPU
Se a sua app tiver necessidades específicas de GPU ou for intensiva em termos de GPU, pode especificar o tipo e o número de GPUs no cluster através do esquema do implementador. Se especificar as suas necessidades de GPU, desativa a criação de clusters assistida.
A sua app pode pedir uma GPU Nvidia genérica ou uma plataforma Nvidia específica.
Requisitos do guia do utilizador da sua app
O guia do utilizador da sua app tem de incluir as seguintes informações:
- Vista geral: uma vista geral da sua app, que abrange as funções básicas e as opções de configuração. Esta secção também tem de incluir um link para a sua app publicada no Cloud Marketplace.
- Configuração única: inclui passos para configurar o Helm e instalar o recurso personalizado
CustomResourceDefinition
(CRD) para que o cluster possa gerir o recurso de aplicação. - Instalação: isto inclui o seguinte:
- Comandos para implementar a sua app
- Transmissão de parâmetros disponíveis na configuração da IU
- Fixar referências de imagens a resumos imutáveis
- Informações sobre quaisquer campos de entrada personalizados que tenha adicionado ao seu módulo do Terraform, se aplicável; consulte as instruções para adicionar campos de entrada ao seu módulo do Terraform
- Utilização básica: guias para as seguintes tarefas:
- Modificar nomes de utilizador e palavras-passe
- Estabelecer ligação a uma consola do administrador, se aplicável
- Associar uma ferramenta de cliente e executar um comando de exemplo, se aplicável
- Ativar a entrada e instalar certificados TLS, se aplicável
- Fazer uma cópia de segurança e restaurar: informações sobre como fazer uma cópia de segurança do estado da app e restaurar o estado da app a partir de uma cópia de segurança.
- Atualizações de imagens: informações sobre a atualização das imagens da app para patches ou atualizações menores.
- Dimensionamento: informações sobre o dimensionamento da app, se aplicável.
- Eliminação: orientações para eliminar a app e limpar todos os recursos que possam permanecer, como PersistentVolumeClaims.
O que se segue?
- Reveja os requisitos da ficha do Cloud Marketplace.
- Prepare a sua app Kubernetes do Terraform para o Cloud Marketplace.
- Adicione a sua app Kubernetes do Terraform ao Cloud Marketplace através do Producer Portal.