Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Migrar nós para cgroup v2

Última atualização: Jun 27, 2026

O cgroup v2 unifica o controle de recursos, melhora o gerenciamento de memória e garante compatibilidade com o Kubernetes.

Versões do cgroup

O kernel Linux oferece o cgroup v1 e o cgroup v2 para limitar, contabilizar e isolar recursos físicos (como CPU, memória e I/O) de grupos de processos. O cgroup v2 resolve os problemas de múltiplas hierarquias da versão v1 com um modelo de controlador unificado. Como as interfaces do sistema de arquivos são incompatíveis, atualize as aplicações que acessam diretamente o cgroupfs.

Consulte Diferenças entre cgroup v1 e cgroup v2 .

O Kubernetes v 1.31 moveu o suporte ao cgroup v1 para modo de manutenção, e a versão v 1.35 removeu esse suporte completamente. Principais vantagens do cgroup v2:

  • Maior estabilidade: A contabilização unificada de memória gerencia o cache de páginas com eficiência. Isso resolve o problema do cgroup v1, no qual aplicações com alto I/O de disco preemptam memória e causam eventos OOMKilled.

  • Hierarquia unificada: Todos os controladores de recursos (como CPU e memória) compartilham uma única hierarquia, o que elimina conflitos de configuração das hierarquias paralelas do cgroup v1.

  • Observabilidade aprimorada de recursos: O Pressure Stall Information (PSI) mede o tempo de paralisação em CPU, memória ou I/O e fornece métricas detalhadas para análise de gargalos.

Verificar a versão do cgroup

Faça logon em um nó e execute o comando abaixo para verificar a versão do cgroup.

# Run this command after logging on to the target node
stat -fc %T /sys/fs/cgroup/

# Expected output:
# cgroup2fs  --> Indicates cgroup v2
# tmpfs      --> Indicates cgroup v1

Procedimento de migração

Nível do nó: Alterar o sistema operacional

O sistema operacional define a versão do cgroup de um nó.

Nível da aplicação: Garantir compatibilidade das cargas de trabalho

Os sistemas de arquivos e nomes de parâmetros do cgroup v1 e v2 são incompatíveis. Verifique ou atualize para o cgroup v2 qualquer aplicação que leia diretamente /sys/fs/cgroup.

Categoria

Descrição

Aplicações Java

  • DragonWell: 11.0.16.12, 8.15.16-GA e posteriores.

  • OpenJDK/HotSpot: jdk8u372, 11.0.16, 15 e posteriores.

  • IBM Semeru Runtimes: 8.0.382.0, 11.0.20.0, 17.0.8.0 e posteriores.

  • IBM Java: 8.0.8.6 e posteriores.

Aplicações Go

Se utilizar uber-go/automaxprocs, atualize para a versão v1.5.1 ou superior.

cAdvisor

Caso implante o cAdvisor como um DaemonSet independente, atualize para a versão v0.43.0 ou superior.

Nginx Ingress

Versões mais antigas podem gerar erros OOMKilled devido à interpretação incorreta de núcleos de CPU no cgroup v2. Atualize para v1.11.2 ou superior. Consulte GitHub Issue #9665.

Para atualizar o Nginx Ingress Controller do ACK, consulte Atualizar o componente Nginx Ingress Controller.
Outras aplicações e componentes
  • Agentes de monitoramento e APM de terceiros: Ferramentas como Prometheus Node Exporter, Datadog Agent e SkyWalking leem o cgroupfs para obter métricas. Versões incompatíveis podem causar perda de dados ou anomalias. Atualize para uma versão com suporte a cgroup v2.

  • Ferramentas de segurança e auditoria: Soluções como Falco e Sysdig utilizam dados do cgroup para atribuir eventos. Versões desatualizadas podem resultar em falhas nas regras de detecção ou falsos positivos. Atualize para uma versão compatível e valide as regras em ambiente de teste.

  • Scripts personalizados e aplicações sensíveis a desempenho: Scripts de inicialização que leem arquivos do cgroup para ajuste automático (como definir a quantidade de threads com base na cota de CPU) falharão no cgroup v2 devido a alterações nos caminhos. Revise e atualize esses scripts para o cgroup v2.

Recomendações para produção