Implantar cargas de trabalho


Como você leu no nosso guia Ciclo de vida do cluster, como usuário do GKE, você geralmente usa as ferramentas Google Cloud para gerenciamento de cluster e ferramentas do Kubernetes, como kubectl, para tarefas internas do cluster, como implantar aplicativos. Isso significa que, se você já sabe como implantar cargas de trabalho em outra implementação do Kubernetes, a implantação de cargas de trabalho no GKE deve envolver muitos dos mesmos fluxos de trabalho. Se você ainda não sabe como implantar cargas de trabalho no Kubernetes, consulte Implantações e os outros recursos em Comece a aprender sobre o Kubernetes.

No entanto, o GKE também oferece outros recursos para implantar e gerenciar suas cargas de trabalho, incluindo ferramentas de observabilidade, opções de banco de dados totalmente gerenciado para aplicativos com estado e opções de hardware específicas para tipos de carga de trabalho especiais, incluindo cargas de trabalho de IA/ML.

Esta página oferece uma visão geral rápida para desenvolvedores e administradores que querem implantar cargas de trabalho em clusters do GKE, com links para uma documentação mais detalhada. Você pode encontrar muitos outros guias e tutoriais específicos nas seções Deploy... da documentação principal do GKE.

Antes de ler esta página, você precisa conhecer os seguintes tópicos:

Funções exigidas

Se você não for proprietário do projeto, precisará ter o seguinte papel do Identity and Access Management (IAM) para implantar cargas de trabalho:

  • Leitor de cluster do Kubernetes Engine (roles/container.clusterViewer): fornece a permissão container.clusters.get, que é necessária para autenticação em clusters em um projeto Google Cloud . Isso não autoriza você a realizar ações dentro desses clusters. O administrador do cluster pode autorizar você a realizar outras ações no cluster usando o IAM ou o RBAC do Kubernetes.

    Para conferir detalhes sobre todas as permissões incluídas nesse papel ou conceder um papel com permissões de leitura/gravação, consulte Papéis do Kubernetes Engine na documentação do IAM.

Saiba mais sobre como o controle de acesso funciona no GKE em Controle de acesso.

Aplicativos sem estado

Aplicativos sem estado são aqueles que não armazenam dados ou o estado do aplicativo no cluster ou no armazenamento permanente. Os aplicativos sem estado podem ser implantados diretamente no menu Workloads do console do Google Cloud e usando a API Kubernetes. Saiba como implantar um aplicativo Linux sem estado no GKE em Como implantar um aplicativo Linux sem estado. Se preferir, também é possível aprender a implantar um aplicativo do Windows Server sem estado.

Armazenamento e aplicativos com estado

Os aplicativos que precisam salvar dados que existem além da vida útil do pod são conhecidos como aplicativos com estado. Você ou seu administrador pode usar um objeto PersistentVolume do Kubernetes para provisionar esse armazenamento. No GKE, o armazenamento PersistentVolume é apoiado por discos do Compute Engine. Saiba como implantar um aplicativo com estado simples no GKE em Como implantar um aplicativo com estado.

Se você precisar que os dados do seu aplicativo com estado sejam mantidos em um banco de dados em vez de armazenamento vinculado à vida útil de um cluster, o GKE oferece as seguintes opções:

  • Bancos de dados totalmente gerenciados: um banco de dados gerenciado, como o Cloud SQL ou o Spanner, reduz a sobrecarga operacional e é otimizado para a infraestrutura Google Cloud . Os bancos de dados gerenciados exigem menos esforço para manter e operar do que um banco de dados implantado diretamente no Kubernetes.
  • Aplicativo do Kubernetes: é possível implantar e executar uma instância de banco de dados (como MySQL ou PostgreSQL) em um cluster do GKE.

Saiba mais sobre as opções de dados no GKE em Dados no GKE e Planejar suas implantações de banco de dados no GKE.

Cargas de trabalho de IA/ML

O GKE tem suporte avançado para implantação de cargas de trabalho de IA/ML. Isso inclui suporte para treinamento e fornecimento de modelos em hardware especializado, além de integração flexível com frameworks de computação distribuída e processamento de dados. Saiba mais nos seguintes guias:

  • Sobre as TPUs no GKE apresenta o uso de aceleradores do Cloud TPU para cargas de trabalho de IA/ML no GKE. O GKE oferece suporte total para o gerenciamento do ciclo de vida de nós da TPU e do pool de nós, incluindo criação, configuração e exclusão de VMs da TPU. É possível implantar cargas de trabalho de TPU em clusters padrão e do Autopilot.
  • Sobre GPUs no GKE explica como solicitar e usar hardware de GPU com cargas de trabalho do GKE.

Cargas de trabalho com outros requisitos especiais

O GKE oferece recursos e guias para ajudar a implantar cargas de trabalho com outros requisitos especiais, incluindo aplicativos que exigem arquiteturas de nós específicas ou que precisam que os pods sejam executados nos mesmos nós ou em nós separados. Saiba mais sobre a implantação de alguns deles nos seguintes guias:

  • Classes de computação no Autopilot explica como escolher arquiteturas de computação específicas para programar seus pods ao implantar aplicativos em clusters do Autopilot. Para clusters padrão, é possível especificar diretamente a família de máquinas que você quer usar para os nós ao criar um cluster.
  • Sobre as classes de computação personalizadas descreve como criar classes de computação personalizadas para ainda mais flexibilidade ao especificar opções de hardware para seus aplicativos em clusters do Autopilot e padrão.
  • Configurar a separação de cargas de trabalho no GKE explica como garantir que os pods do aplicativo sejam executados nas mesmas ou em diferentes máquinas.
  • O GKE Sandbox explica como proteger o kernel do host usando pods de sandbox ao implantar cargas de trabalho desconhecidas ou não confiáveis.

Observar suas cargas de trabalho

O GKE oferece vários recursos para observar as cargas de trabalho e a integridade delas, incluindo informações gerais sobre o estado e as métricas da carga de trabalho no console , além de métricas, registros e alertas mais detalhados.

Gerenciar a implantação de cargas de trabalho

Se você ou seu administrador quiserem configurar um pipeline de integração e entrega contínua (CI/CD) para implantar suas cargas de trabalho, consulte as práticas recomendadas e diretrizes específicas do GKE para CI/CD em Práticas recomendadas para integração e entrega contínua no GKE, bem como tutoriais para configurar pipelines de CI/CD com ferramentas e produtos específicos.

A seguir