Sobre as cargas de trabalho do modo Autopilot no GKE Standard

É possível usar ComputeClasses para executar cargas de trabalho do Autopilot do Google Kubernetes Engine (GKE) nos clusters do modo GKE Standard. Este documento descreve os métodos que podem ser usados para executar suas cargas de trabalho no modo Autopilot e ajuda você a decidir quando executar uma carga de trabalho em um modo específico.

Essas informações são destinadas às seguintes pessoas:

  • Arquitetos de nuvem que querem otimizar os custos operacionais nas organizações.
  • Administradores de plataforma que querem reduzir o overhead do gerenciamento manual de infraestrutura.
  • Engenheiros de confiabilidade do site (SREs) que querem transferir a manutenção, os upgrades e o escalonamento da infraestrutura para o Cloud de Confiance by S3NS sempre que possível.

Você já precisa conhecer os seguintes conceitos:

Sobre o Autopilot do GKE

O Autopilot é um modo de operação no GKE em que o Google gerencia sua infraestrutura de nós, escalonamento, segurança e recursos pré-configurados. O modo Autopilot é otimizado para executar a maioria das cargas de trabalho de produção em um ambiente que aplica as configurações recomendadas para segurança, confiabilidade, desempenho e escalonabilidade. Para decidir entre o modo Autopilot e o modo Standard com base nos seus requisitos, consulte Sobre os modos de operação do GKE.

É possível usar o modo Autopilot das seguintes maneiras:

  • Crie um cluster que use o modo Autopilot: o Google gerencia todo o cluster e aplica práticas recomendadas de automação, confiabilidade, segurança e custos.
  • Executar cargas de trabalho no modo Autopilot em clusters Standard: você implanta ComputeClasses do Autopilot e as seleciona em cargas de trabalho. O Google gerencia os nós que o GKE cria para essas cargas de trabalho específicas em um pool de nós gerenciado pelo Autopilot. Você controla o cluster e pode executar seus próprios pools de nós Standard junto com os nós gerenciados pelo GKE.

Sobre o modo Autopilot para ComputeClasses

Uma ComputeClass é um recurso personalizado do Kubernetes que define uma lista de configurações de nós, como tipos de máquinas ou configurações de recursos. É possível selecionar ComputeClasses específicas nas especificações de carga de trabalho do Kubernetes. Quando uma carga de trabalho que seleciona uma ComputeClass precisa de um novo nó, o GKE tenta provisionar o nó com uma das configurações que a ComputeClass declara. O GKE tenta cada configuração na ComputeClass em ordem e volta para a próxima configuração se a criação do nó falhar. Para mais informações, consulte Sobre as ComputeClasses personalizadas.

Para executar cargas de trabalho do Autopilot nos clusters GKE Standard, ative o modo Autopilot em uma ComputeClass e selecione essa ComputeClass em cargas de trabalho específicas. O Google gerencia todos os novos nós que o GKE provisiona para essas cargas de trabalho, de maneira semelhante a como o Google gerencia os nós em clusters do Autopilot. A maioria dos benefícios e recursos de segurança do modo Autopilot se aplica a essas cargas de trabalho e aos nós de host.

As ComputeClasses do modo Autopilot oferecem aos administradores de cluster mais flexibilidade para escolher o nível de controle que querem ter sobre cargas de trabalho e infraestrutura específicas no cluster, como das seguintes maneiras:

  • Você pode deixar o GKE gerenciar totalmente cargas de trabalho específicas executando-as no modo Autopilot.
  • Você mantém controle total sobre cargas de trabalho e infraestrutura que não usam o modo Autopilot, como pools de nós criados manualmente.
  • É possível definir uma ComputeClass do Autopilot como a padrão para seu cluster ou namespace, para que as cargas de trabalho sejam executadas no modo Autopilot, a menos que solicitem explicitamente uma opção diferente.

Com essas opções, os administradores de cluster decidem o nível e o escopo de uso do Autopilot.

Benefícios das ComputeClasses do Autopilot em clusters Standard

Executar algumas das suas cargas de trabalho no modo Autopilot oferece benefícios como os seguintes:

  • Reduza os custos de gerenciamento de infraestrutura: o Google faz upgrade, manutenção, configuração e ajuste fino de nós específicos para você.
  • Use o modelo de preços do Autopilot: as cargas de trabalho que usam uma ComputeClass do Autopilot são faturadas usando o modelo de preços do Autopilot. Esse modelo de preços inclui o faturamento por pod para cargas de trabalho que não solicitam hardware específico. Para mais informações, consulte a seção de preços.
  • Melhorar o escalonamento e a postura de segurança: as cargas de trabalho do Autopilot têm benefícios como acesso à plataforma de computação otimizada para contêineres, restrições de segurança padrão aprimoradas e escalonamento automático de nós com base em solicitações de recursos. Os nós dessas cargas de trabalho usam recursos como upgrades automáticos de nós e reparos automáticos.
  • Melhorar a confiabilidade: o contrato de nível de serviço (SLA) do GKE inclui um objetivo de nível de serviço (SLO) de tempo de atividade do pod para o Autopilot.

Muitos desses benefícios também são oferecidos pelos clusters do Autopilot, que também oferecem uma experiência mais gerenciada do que os clusters padrão e incluem vários benefícios de segurança, rede e gerenciamento de recursos. Para mais informações, consulte Visão geral do Autopilot.

Seleção de hardware em ComputeClasses do Autopilot

Nas ComputeClasses do Autopilot, é possível selecionar hardware específico para seus nós (como GPUs ou tipos de máquinas) ou deixar que o GKE coloque pods em uma plataforma de computação de uso geral otimizada para contêineres. A opção de uso geral é recomendada para a maioria das cargas de trabalho de produção que não exigem hardware específico para serem executadas corretamente. Ele é compatível com arquiteturas x86 e Arm.

A tabela a seguir descreve essas opções de configuração, como escolher uma em uma ComputeClass e como essa escolha afeta seu modelo de faturamento:

Tabela 1. Seleção de hardware em ComputeClasses do Autopilot
Requisito de carga de trabalho Configuração recomendada de ComputeClass Modelo de faturamento
Cargas de trabalho de uso geral

Use uma ComputeClass do Autopilot com a regra de prioridade podFamily para executar cargas de trabalho que não exigem hardware específico na plataforma de computação otimizada para contêineres do Autopilot. Essa plataforma funciona bem para cargas de trabalho de uso geral, como as seguintes:

  • Servidores da Web
  • Jobs baseados em eventos
  • Processamento em lote
  • Pipelines de CI/CD

As ComputeClasses integradas do Autopilot usam apenas regras de prioridade podFamily. Também é possível adicionar regras de prioridade podFamily às ComputeClasses personalizadas do Autopilot.

Modelo de faturamento baseado em pods
Cargas de trabalho que precisam de hardware específico

Use uma ComputeClass que use qualquer regra de configuração de hardware disponível, como a regra machineFamily ou a regra gpus.

Modelo de faturamento baseado em nó

Configuração do Autopilot em ComputeClasses

É possível usar o modo Autopilot em um cluster Standard usando uma ComputeClass do Autopilot integrada que o GKE oferece ou ativando o Autopilot em qualquer ComputeClass personalizada que você criar. As seções a seguir descrevem cada opção.

ComputeClasses integradas do Autopilot

O GKE configura ComputeClasses específicas do Autopilot para você. É possível selecionar essas classes integradas do Autopilot em qualquer cluster qualificado. As ComputeClasses integradas do Autopilot em clusters padrão usam a regra de prioridade podFamily para executar pods na plataforma de computação otimizada para contêineres. Para mais informações, consulte Sobre as ComputeClasses integradas no GKE.

ComputeClasses personalizados do Autopilot

É possível ativar o Autopilot em qualquer ComputeClass personalizada que você gerencie usando o campo autopilot na especificação da ComputeClass. As classes de computação personalizadas do Autopilot são úteis em situações como as seguintes:

  • Suas cargas de trabalho têm requisitos de hardware específicos, como aceleradores.
  • Você quer modificar determinadas opções de nós, como definir zonas ou aplicar taints, sem deixar de usar a plataforma de computação otimizada para contêineres do Autopilot.

Para ativar o Autopilot em uma ComputeClass, é necessário excluir, atualizar a configuração e recriar a ComputeClass no cluster. As mudanças são aplicadas a todos os novos nós que o GKE cria para cargas de trabalho implantadas após a atualização da ComputeClass do Autopilot.

Para mais informações sobre como ativar o Autopilot nas suas ComputeClasses personalizadas, consulte Selecionar hardware específico para seus pods do Autopilot.

Preços

Os preços do Autopilot do GKE se aplicam aos nós e às cargas de trabalho que o GKE cria para uma ComputeClass do Autopilot. O modelo de faturamento do Autopilot que se aplica a uma carga de trabalho específica depende da regra de prioridade da ComputeClass que o GKE usa para criar nós para essa carga de trabalho.

A tabela a seguir descreve o modelo de faturamento que se aplica a diferentes configurações de ComputeClass do Autopilot nos clusters do modo Standard:

Tabela 2. Preços das classes de computação do Autopilot
Modelos de faturamento para diferentes configurações de ComputeClass
Modelo de faturamento baseado em pods O modelo de faturamento baseado em pod é aplicado quando o GKE usa uma regra de prioridade podFamily para criar nós para uma carga de trabalho. As ComputeClasses do Autopilot integradas sempre usam o modelo de faturamento baseado em pods.
Modelo de faturamento baseado em nó O modelo de faturamento baseado em nós é aplicado quando o GKE usa uma regra de prioridade do ComputeClass que solicita explicitamente um hardware específico, como uma determinada família de máquinas ou GPUs.

Os preços do Autopilot se aplicam apenas às cargas de trabalho e aos nós que usam uma ComputeClass do Autopilot. Seu cluster do modo Standard e outros pools de nós que você executa continuam usando os preços do GKE Standard.

Configurações pré-configuradas para nós gerenciados pelo Autopilot

Antes de ativar o modo Autopilot nas ComputeClasses, saiba o que esperar dos nós que o GKE cria para executar as cargas de trabalho do Autopilot. O Google configura recursos e restrições de segurança específicos nos nós do Autopilot. Como resultado, as cargas de trabalho que são implantadas e funcionam corretamente nos nós do modo Standard podem ser rejeitadas pelo modo Autopilot se não atenderem aos requisitos de segurança do Autopilot.

A tabela a seguir descreve as configurações de recursos que substituem as configurações correspondentes no cluster Standard. Se uma configuração não estiver nesta tabela, os nós do Autopilot usarão a configuração do cluster Standard. Por exemplo, a Federação de Identidade da Carga de Trabalho para GKE não está nesta tabela, o que significa que a configuração da Federação de Identidade da Carga de Trabalho para GKE do cluster padrão se aplica aos nós do Autopilot criados pelo GKE.

Tabela 3. Configurações pré-configuradas para nós do Autopilot
Recurso Configuração padrão no nível do cluster Configuração de nós gerenciados pelo Autopilot
Upgrades e manutenção de nós

Configurável:

Pré-configurado:

  • Reparo automático de nós: ativado
  • Upgrade automático de nós: ativado
  • Estratégia de upgrade de nós: upgrades súbitos com parâmetros pré-configurados
Escalonamento automático Configurável: Perfil de escalonamento automático Pré-configurado: perfil de escalonamento automático optimize-utilization
Rede Nativo de VPC ou baseado em rotas Requer um cluster nativo de VPC
Segurança

Configurável:

Pré-configurado:

Sistema operacional do nó

Configurável:

Pré-configurado:

Disco de inicialização do nó

Configurável:

Configurável:

  • Tipo de disco de inicialização: usa o valor no campo storage.bootDiskType da ComputeClass. Se esse campo não estiver definido, o GKE vai definir o tipo de disco de inicialização da seguinte maneira:
    • Se a ComputeClass usar regras podFamily, o GKE usará um disco pd-balanced.
    • Se a ComputeClass não usar regras podFamily, o GKE usará o tipo de disco de inicialização padrão do cluster.
  • Tamanho do disco de inicialização: o GKE usa o valor no campo storage.bootDiskSize da classe de computação. Se esse campo não for definido, o GKE vai definir o tamanho do disco de inicialização da seguinte maneira:
Metadados do nó

Solicitações de recursos para cargas de trabalho do Autopilot

Para que as cargas de trabalho do Autopilot sejam executadas com eficiência, o GKE impõe determinados valores mínimos e máximos para solicitações de CPU, memória e armazenamento temporário nos seus pods. O GKE também aplica solicitações padrão a pods que não pedem explicitamente um desses recursos. Os valores específicos dos requisitos de recursos mínimos, máximos e padrão nas cargas de trabalho do Autopilot do GKE variam de acordo com o tipo de hardware usado pelos pods.

Para armazenamento temporário, o valor padrão, caso você não solicite esse tipo de armazenamento, é o mesmo para todas as ComputeClasses e seleções de hardware. Para mais informações, consulte Solicitações de recursos padrão.

A tabela a seguir fornece links para os requisitos de CPU e memória das solicitações de pod, dependendo do tipo de hardware:

Tabela 4. Requisitos de CPU e memória do Autopilot
Tipo de recurso Solicitações mínimas e máximas Solicitações padrão
Pods de uso geral
GPUs e TPUs Depende do tipo e da quantidade de aceleradores de hardware. Para mais informações, consulte Mínimos e máximos para a classe de computação do Accelerator. Depende do tipo e da quantidade de aceleradores de hardware. Para mais informações, consulte Solicitações padrão para aceleradores.
Tipos e famílias de máquinas específicas do Compute Engine
  • Mínimo: sem valores mínimos para CPU ou memória.
  • Máximo: o valor máximo é a capacidade de recursos da instância do Compute Engine.
Para qualquer tipo de máquina ou família de máquinas do Compute Engine, as solicitações padrão na linha "Uso geral" da tabela Solicitações padrão para ComputeClasses.

A seguir