Com os apps do Kubernetes do Terraform no Google Cloud Marketplace, seus clientes podem usar o Terraform para implantar apps conteinerizados no Google Kubernetes Engine. Os usuários não recebem cobranças pelo uso dos apps do Kubernetes do Terraform, mas recebem cobranças pelo uso dos recursos do Google Cloud . É possível oferecer apps do Kubernetes do Terraform publicamente a todos os usuários do Cloud Marketplace ou de forma privada usando ofertas privadas.
Os apps do Kubernetes do Terraform oferecidos pelo Cloud Marketplace definem as configurações usando gráficos do Helm, que são hospedados no Artifact Registry. Depois de configurar, você integra o app ao Cloud Marketplace pelo Portal do Produtor.
Visão geral da integração de um app do Kubernetes do Terraform
Para oferecer um app do Terraform Kubernetes no Cloud Marketplace, siga estas etapas:
Prepare seu app do Kubernetes do Terraform para o Cloud Marketplace. Isso inclui configurar o Artifact Registry e enviar as imagens do app para ele.
Adicione informações de preços para seu app no Portal do Produtor.
Configure a implantação do app no Portal do Produtor, incluindo o módulo do Terraform, o gráfico do Helm e as imagens de contêiner.
Publique seu produto no Cloud Marketplace. Ao integrar seu produto, envie várias partes dele para análise. A equipe do Cloud Marketplace analisa cada envio e trabalha com você para resolver qualquer problema antes de aprovar. Após a aprovação de todos os envios, será possível publicar e lançar o produto em alguns minutos.
Requisitos para apps do Kubernetes do Terraform
Todos os produtos oferecidos no Cloud Marketplace precisam obedecer aos requisitos de listagem do serviço.
Seu app do Terraform Kubernetes precisa atender aos seguintes requisitos adicionais:
- Seu app precisa ser executado em nós do GKE que usam processadores x86.
- Todos os gráficos do Helm e as imagens de contêiner do seu app precisam ser enviados para o registro do Artifact Registry, no mesmo repositório e projeto que você está usando para o app do Kubernetes do Terraform.
- Seu registro do Artifact Registry precisa incluir um gráfico do Helm.
- O módulo do Terraform precisa ser hospedado como um arquivo ZIP em um bucket do Cloud Storage localizado no mesmo projeto que você está usando para o app do Terraform Kubernetes.
- É necessário ativar o controle de versões para o bucket do Cloud Storage que você usa para hospedar o módulo do Terraform.
- Você precisa incluir um guia do usuário com etapas para implantar, configurar e usar o app na linha de comando. Para mais detalhes, consulte Requisitos para o guia do usuário neste documento.
- Para proteger os usuários contra APIs instáveis, use apenas recursos Beta ou amplamente disponíveis do Kubernetes.
Requisitos para as imagens do app
As imagens do app precisam atender aos seguintes requisitos:
- Todas as imagens do seu app precisam ser marcadas com a faixa de lançamento e a versão atual. Por exemplo, se você estiver lançando a versão
2.0.5
na faixa de lançamento2.0
, todas as imagens correspondentes deverão ser marcadas com2.0
e2.0.5
. Para mais detalhes, consulte Organizar seus lançamentos. Todas as imagens do app precisam conter a seguinte anotação no manifesto de imagem:
com.googleapis.cloudmarketplace.product.service.name=services/SERVICE_NAME
SERVICE_NAME pelo nome do serviço; Para encontrar o nome do seu serviço, consulte a tabela de produtos na página Visão geral do Portal do Produtor. Para mais informações sobre anotações, consulte a documentação da Open Container Initiative sobre anotações no GitHub.
Requisitos para o repositório do Artifact Registry
O gráfico do Helm e as imagens de contêiner do seu app precisam 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 do Helm e as imagens de contêiner do app
serão semelhantes a estes:
us-docker.pkg.dev/exampleproject/exampleapp/chart
us-docker.pkg.dev/exampleproject/exampleapp/image1
us-docker.pkg.dev/exampleproject/exampleapp/image2
Requisitos para o módulo do Terraform
Os clientes usam o módulo do Terraform para implantar seu produto no Cloud Marketplace pelo Infrastructure Manager. O módulo do Terraform empacota a configuração do Kubernetes do seu app.
Use o módulo de exemplo como ponto de partida e siga o guia para parceiros para criar um módulo do Terraform compatível com seu app.
Parâmetros passados para o aplicativo
Seu módulo do Terraform precisa declarar parâmetros que precisam ser coletados dos clientes quando eles selecionam seu app. Esses parâmetros são fornecidos ao contêiner de gráfico Helm quando os usuários implantam o app.
Para configurar esses parâmetros, seu módulo do Terraform precisa incluir um arquivo
schema.yaml
.
Para saber como criar um schema.yaml
, consulte o
guia de criação de um esquema
no GitHub.
Solicitações de cluster da GPU
Se o aplicativo tiver necessidades específicas de GPU ou for intensivo, especifique o tipo e o número de GPUs no cluster usando o esquema do implantador. Se você especificar as necessidades da GPU, a criação assistida de clusters será desativada.
O app pode solicitar uma GPU Nvidia genérica ou uma plataforma Nvidia específica.
Requisitos do guia do usuário do app
O guia do usuário do app precisa incluir as seguintes informações:
- Visão geral: uma visão geral do seu app, abrangendo funções básicas e opções de configuração. Esta seção também precisa ter um link para o app publicado no Cloud Marketplace.
- Configuração única: inclui etapas para configurar o Helm e instalar
o
CustomResourceDefinition
do aplicativo (CRD) para que o cluster possa gerenciar o recurso do aplicativo. - Instalação: inclui o seguinte:
- Comandos para implantar o app
- Passagem de parâmetros disponíveis na configuração UI
- Fixação de referências de imagens em resumos imutáveis
- Informações sobre campos de entrada personalizados que você adicionou ao módulo do Terraform, se aplicável. Consulte as instruções para adicionar campos de entrada ao módulo do Terraform.
- Uso básico: guias para as seguintes tarefas:
- Modificação de nomes de usuário e senhas
- Conexão com um console de administração, se aplicável
- Conexão de uma ferramenta de cliente e execução de um comando de amostra, se aplicável
- Ativação da entrada e instalação de certificados TLS, se aplicável
- Backup e restauração: informações sobre como fazer backup e restaurar o estado do app.
- Atualizações de imagens: informações sobre como atualizar as imagens do app para patches ou pequenas atualizações.
- Escalonamento: informações sobre o escalonamento do app, se aplicável.
- Exclusão: guias para excluir o app e limpar todos os recursos que podem permanecer, como PersistentVolumeClaims (em inglês).
A seguir
- Revise os requisitos de listagem do Cloud Marketplace.
- Prepare seu app do Kubernetes do Terraform para o Cloud Marketplace.
- Adicione seu app do Kubernetes do Terraform ao Cloud Marketplace usando o Portal do Produtor.