Implantar cargas de trabalho


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

No entanto, o GKE também oferece outros recursos para implantação e gerenciamento de cargas de trabalho, incluindo ferramentas de observabilidade, opções de banco de dados totalmente gerenciadas 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 documentação mais detalhada. Você encontra muitos outros guias e tutoriais específicos nas seções Implantar... da documentação principal do GKE.

Antes de ler esta página, você precisa conhecer os seguintes conceitos:

Funções exigidas

Se você não for proprietário do projeto, precisará ter, no mínimo, 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, necessária para autenticar clusters em um projeto do 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 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

Os 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 Cargas de trabalho do Google Cloud console e usando a API Kubernetes. Saiba como implantar um aplicativo Linux sem estado no GKE em Implantar um aplicativo Linux sem estado. Se preferir, você também pode aprender a implantar um aplicativo do Windows Server sem estado.

Aplicativos e armazenamento com estado

Os aplicativos que precisam salvar dados que existem além do ciclo de vida do pod são conhecidos como aplicativos com estado. Você ou seu administrador podem usar um objeto PersistentVolume do Kubernetes para provisionar esse armazenamento. No GKE, o armazenamento do PersistentVolume é respaldado 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 um armazenamento vinculado ao ciclo de vida 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 do 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 oferece suporte avançado para a implantação de cargas de trabalho de IA/ML. Isso inclui suporte para treinamento e veiculação 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 completo 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 de TPU. É possível implantar cargas de trabalho de TPU em clusters Standard e 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 você 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 em nós iguais ou separados. Saiba mais sobre como implantar algumas delas 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 ter ainda mais flexibilidade ao especificar opções de hardware para seus aplicativos em clusters do Autopilot e padrão.
  • Configurar a separação de carga de trabalho no GKE mostra como garantir que os pods do seu aplicativo sejam executados nas mesmas ou em máquinas diferentes.
  • 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.

Como observar suas cargas de trabalho

O GKE oferece uma variedade de recursos para observar suas cargas de trabalho e a integridade delas, incluindo visões gerais rápidas do estado e das métricas da carga de trabalho no console Google Cloud , 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ínuas (CI/CD) para implantar suas cargas de trabalho, confira as práticas recomendadas e diretrizes específicas do GKE para CI/CD em Práticas recomendadas para integração e entrega contínuas no GKE, além de tutoriais para configurar pipelines de CI/CD com ferramentas e produtos específicos.

A seguir