O Kubernetes 1.37, codinome Garhwal, reúne mudanças cujo peso está menos na quantidade de recursos e mais na maturidade de componentes centrais da plataforma. A Metrics API torna-se estável, o kubelet sem privilégios de root avança para beta e o plano de controle recebe melhorias de resiliência. Em conjunto, essas alterações buscam tornar clusters grandes mais observáveis, previsíveis e resistentes a falhas operacionais.
Para equipes que já rodam Kubernetes em produção, não basta percorrer a lista de feature gates. O release afeta áreas que frequentemente se encontram em incidentes: capacidade, segurança do nó e pressão sobre o etcd. Para quem começa agora, a versão também mostra como recursos antes experimentais passam gradualmente a ter condições de adoção mais segura.
O que compõe o Kubernetes 1.37
Segundo o anúncio de lançamento, o Kubernetes 1.37 inclui 67 aprimoramentos: 27 recursos alpha, 23 recursos promovidos a beta, 16 funcionalidades graduadas para disponibilidade geral ou estável e uma descontinuação ou remoção.
Entre os pontos reportados estão a disponibilidade geral da API metrics.k8s.io, a promoção do kubelet em namespace de usuário para beta, a inicialização resiliente do watch cache como recurso estável e os certificados de pods também estáveis. O release inclui ainda escala para zero no Horizontal Pod Autoscaler em beta e ativada por padrão, além de recursos experimentais para escalonamento, checkpoint de pods e atualização de StatefulSets.
Na prática, a versão ataca fragilidades conhecidas da operação: métricas com padronização insuficiente, componentes do nó com privilégios excessivos e reinicializações do API server que podem concentrar pressão sobre o armazenamento de estado do cluster.
Recursos estáveis, beta e alpha no release
Metrics API torna-se uma interface estável
A Metrics API, acessada pelo grupo metrics.k8s.io, alcançou disponibilidade geral. Ela oferece uma interface comum para consultar métricas de uso de recursos em nós e pods, usada por ferramentas como kubectl top e por mecanismos de autoscaling. A fonte a relaciona diretamente a HPA e VPA.
Convém separar duas coisas. A estabilidade da API não elimina a dependência de uma arquitetura de coleta bem montada. Em muitos ambientes, o Metrics Server segue como o provedor mais comum das métricas de uso imediato, enquanto Prometheus e outros sistemas de observabilidade cobrem retenção histórica, cardinalidade elevada, alertas e métricas de negócio.
A promoção para estável reduz a incerteza para ferramentas e integrações que dependem dessa interface. Ainda assim, continua necessário validar a latência de coleta, a disponibilidade do componente provedor e a coerência dos requests e limits definidos nos workloads.
Kubelet rootless avança a beta e vem ativado por padrão
O recurso KubeletInUserNamespace foi promovido a beta e vem ativado por padrão, conforme o material de referência. Ele permite executar componentes centrais do nó, incluindo o kubelet, como um usuário sem privilégio de root no host, por meio de namespaces de usuário do Linux.
O efeito esperado é limitar o impacto de uma eventual fuga de container ou de um comprometimento que alcance processos associados ao kubelet. É uma medida de defesa em profundidade: reduzir privilégios no host pode tornar uma cadeia de exploração menos valiosa para um invasor.
Isso não representa garantia contra escapes de containers, falhas do kernel ou configurações permissivas de runtime. A segurança de Kubernetes continua dependente de várias camadas, como atualização do sistema operacional, políticas de admissão, segregação de identidades, proteção de credenciais e controle de acesso à API.
Watch cache resiliente protege o etcd sob pressão
A inicialização resiliente do watch cache tornou-se estável e fica ativada por padrão. Ela trata um problema comum em clusters extensos: quando o kube-apiserver reinicia ou perde conexão com seu cache, requisições simultâneas podem concentrar carga no etcd.
Segundo a fonte, a funcionalidade passa a delegar requisições dentro de limites seguros e rejeita as demais com HTTP 429, sinalizando excesso de solicitações. A mudança protege o plano de controle em vez de tentar atender toda a demanda de uma vez e comprometer a base de estado do cluster.
Nesse contexto, receber HTTP 429 não indica necessariamente um defeito da aplicação cliente. Pode ser um mecanismo deliberado de preservação do serviço. Clientes, controladores e automações precisam lidar com esse código usando retentativas progressivas, respeito a backoff e limites de concorrência.
Funcionalidades alpha exigem avaliação cuidadosa
Nem toda novidade do Kubernetes 1.37 tem o mesmo grau de prontidão para produção. O release inclui funcionalidades alpha que pedem avaliação mais criteriosa, em geral em ambientes isolados e com um plano claro de reversão.
- O feature gate InPlacePodVerticalScalingSchedulerPreemption adiciona preempção orientada ao redimensionamento vertical em execução. A proposta é liberar recursos em um nó saturado ao remover workloads de prioridade menor, permitindo o redimensionamento pendente de uma aplicação mais prioritária.
- O checkpoint e restore no nível de pod permite que o kubelet gere um checkpoint e restaure um pod a partir dele, com potencial utilidade em depuração e análise de segurança.
- A estratégia Recreate para StatefulSets pode excluir todos os pods existentes durante um rollout. O objetivo é permitir recuperação mais limpa de pods travados ou pendentes em atualizações, sem remoção manual.
Esses recursos lidam com situações operacionais difíceis: pressão de recursos em aplicações prioritárias, investigação do estado de processos e atualizações bloqueadas de cargas com estado. Ainda assim, o status alpha é decisivo. Sem estabilidade de API, garantias amplas de compatibilidade e com possível alteração de comportamento entre versões, não é prudente colocá-los como base de um processo crítico.
O checkpoint de pods, por exemplo, requer atenção à proteção de dados. Um snapshot de memória e árvores de processo pode conter tokens, credenciais temporárias, dados de sessão ou informações de negócio. O recurso pode ajudar em análise forense, mas também amplia a superfície de dados sensíveis que exige controles de acesso, criptografia e retenção limitada.
Escala para zero pode reduzir custos, com limites práticos
O suporte do Horizontal Pod Autoscaler para escalar até zero foi promovido a beta e está habilitado por padrão, de acordo com a fonte. A motivação destacada são workloads de IA e machine learning, especialmente os que dependem de GPUs em provedores de nuvem.
O potencial de economia é direto: se uma carga intermitente não tem demanda, manter réplicas em execução pode gerar custo desnecessário. Em contrapartida, escalar para zero leva a discussão para a experiência de uso e a capacidade de retomada. Uma API sob demanda pode sofrer cold start; um worker sem consumidores pode retornar rapidamente, enquanto um serviço que precisa carregar modelos grandes talvez não.
Também não cabe concluir que escalar pods para zero desligará automaticamente nós ou GPUs. A economia efetiva depende da integração entre o autoscaling de pods, o provisionamento de nós, a estratégia de empacotamento de workloads e as políticas do provedor. Um pod pode desaparecer e, mesmo assim, deixar capacidade ociosa alocada no cluster.
Certificados de pods para comunicação interna
Os certificados de pods foram promovidos a estáveis. A fonte descreve o recurso como suporte nativo para comunicação segura entre pods, sem ferramentas externas para iniciar mTLS entre serviços internos.
Isso pode reduzir dependências adicionais na entrega de identidade criptográfica entre workloads. Contudo, mTLS não se resume à emissão de certificados. Uma implementação segura precisa definir relações de confiança, autorização de identidades, rotação de certificados e o comportamento esperado quando a validação falha.
Do ponto de vista arquitetural, certificados nativos podem simplificar parte do mecanismo, mas não substituem o desenho das políticas de comunicação. A equipe ainda precisa definir quais serviços podem se conectar, quais identidades serão aceitas e como investigar falhas de autenticação distribuída.
Como avaliar a atualização no ambiente
Uma adoção responsável do Kubernetes 1.37 deve começar pela compatibilidade operacional, e não pela ativação imediata de todos os recursos. Um roteiro objetivo pode seguir estas etapas.
- Mapear a versão atual do cluster, dos runtimes de container, do sistema operacional dos nós e dos add-ons críticos, especialmente componentes de rede, armazenamento, ingress e observabilidade.
- Validar a cadeia da Metrics API em homologação, incluindo disponibilidade do Metrics Server, comportamento de kubectl top e decisões de HPA baseadas em métricas de CPU e memória.
- Revisar clientes internos que consultam a API do Kubernetes e confirmar que eles respeitam HTTP 429, usam retentativas com espera progressiva e não criam tempestades de requisições após falhas.
- Testar o kubelet em namespace de usuário com as imagens, plugins CSI, requisitos de montagem, integrações de segurança e agentes de observabilidade usados pela organização.
- Medir o tempo de retomada de workloads candidatos a escala para zero e confrontá-lo com o objetivo de serviço esperado para cada aplicação.
- Manter recursos alpha desligados no ambiente produtivo até que exista um caso de uso claro, critérios de sucesso, telemetria e procedimento de rollback documentado.
Limites da notícia e riscos de operação
A fonte informa a graduação dos recursos, mas não substitui as notas oficiais de release, a documentação de atualização nem a matriz de compatibilidade do ambiente específico. Ela também não traz benchmarks, resultados de desempenho ou evidências de que as novidades terão o mesmo efeito em qualquer distribuição gerenciada ou instalação autogerenciada.
Recursos ativados por padrão não são necessariamente transparentes. O kubelet rootless pode revelar incompatibilidades com integrações de baixo nível do host. A proteção do watch cache pode tornar respostas 429 mais frequentes em automações mal comportadas. A escala para zero pode reduzir custos, mas prejudicar a latência percebida se a aplicação não tiver uma estratégia de inicialização sob demanda.
Também é importante distinguir estabilidade de recurso e maturidade organizacional. Uma API estável pode ser subutilizada por falta de observabilidade. Um mecanismo de certificados pode coexistir com políticas de identidade confusas. E um cluster mais resistente à pressão sobre o etcd ainda depende de capacidade planejada, monitoramento do plano de controle e testes de recuperação.
Uma atualização voltada à previsibilidade operacional
O Kubernetes 1.37 parece menos voltado a uma mudança isolada de grande impacto e mais à consolidação de fundamentos operacionais. Metrics API estável, watch cache resiliente e kubelet com menor privilégio favorecem, em conjunto, uma plataforma mais governável.
Na minha leitura, equipes brasileiras não devem tratar esse release como atualização automática, nem ignorá-lo por parecer incremental. Vale priorizar recursos que reduzem risco estrutural: validar métricas para autoscaling, preparar clientes para respostas 429 e avaliar com cuidado a compatibilidade do modo rootless. As novidades alpha devem entrar no radar de pesquisa, sem assumir responsabilidade por workloads essenciais.
Em Kubernetes, maturidade raramente significa habilitar tudo. Ela depende de entender as dependências, medir os efeitos no próprio ambiente e decidir com disciplina quais mecanismos podem chegar à produção.