Neste post, vamos explorar GKE Compute Class, um recurso fundamental do Google Kubernetes Engine que centraliza a configuração de infraestrutura de clusters. Se você trabalha com Kubernetes e busca reduzir a complexidade de gerenciamento de infraestrutura enquanto mantém flexibilidade, esse conceito é essencial.
O que é GKE Compute Class?
GKE Compute Class é um recurso personalizado (CustomResource) do Kubernetes que define um conjunto de atributos de nós e configurações de escalonamento automático. Ele funciona como um “blueprint” que o cluster usa para criar nós otimizados para tipos específicos de workload.
Em vez de você precisar criar e gerenciar múltiplos node pools manualmente, os ComputeClasses permitem declarar centralizadamente como os nós devem ser configurados. Quando um pod seleciona uma ComputeClass, o scheduler automático do GKE usa essas especificações para provisionar nós adequados.
Componentes principais
Uma ComputeClass define:
- Famílias de máquinas (N4, N2, C3, etc.)
- Comportamento de fallback entre opções de hardware
- Configurações de escalonamento automático para consolidação de nós
- Locais de nós (zonas, regiões)
- Aceleradores (GPUs, TPUs) e outras configurações de hardware
- Taints e tolerâncias que o GKE aplica automaticamente aos nós
Como GKE Compute Class funciona
O funcionamento é simples mas poderoso:
O fluxo de trabalho
- Declaração: Engenheiros de plataforma definem ComputeClasses em manifestos YAML
- Registro: As ComputeClasses são criadas como recursos personalizados no cluster
- Seleção: Operadores de apps especificam uma ComputeClass nos seus pods usando
nodeSelector - Escalonamento: O cluster autoscaler usa as prioridades definidas para criar nós apropriados
- Configuração: O GKE aplica automaticamente rótulos, taints e tolerâncias aos nós criados