Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Migrate nodes to cgroup v2

Última actualización: Sep 04, 2026

cgroup v2 unifica el control de recursos, mejora la gestión de memoria y garantiza la compatibilidad con Kubernetes.

Versiones de cgroup

El kernel de Linux proporciona cgroup v1 y cgroup v2 para limitar, contabilizar y aislar recursos físicos (como CPU, memoria y E/S) en grupos de procesos. cgroup v2 resuelve los problemas de jerarquía múltiple de v1 mediante un modelo de controlador unificado. Las interfaces del sistema de archivos son incompatibles, por lo que las aplicaciones que acceden directamente a cgroupfs deben actualizarse.

Consulte Differences between cgroup v1 and cgroup v2 .

Kubernetes v 1.31 pasó el soporte de cgroup v1 a modo de mantenimiento, y la versión v 1.35 eliminó dicho soporte. Ventajas clave de cgroup v2:

  • Mayor estabilidad: La contabilización unificada de memoria gestiona eficazmente la caché de páginas. Esto resuelve el problema de cgroup v1, donde las aplicaciones con alta E/S de disco acaparaban la memoria y provocaban eventos OOMKilled.

  • Jerarquía unificada: Todos los controladores de recursos (como CPU y memoria) comparten una sola jerarquía. Esto elimina los conflictos de configuración causados por las jerarquías paralelas de cgroup v1.

  • Mejor observability de recursos: Pressure Stall Information (PSI) mide el tiempo de bloqueo en CPU, memoria o E/S. Esto proporciona métricas detalladas para el análisis de cuellos de botella.

Comprobar la versión de cgroup

Log on to a node y ejecute el siguiente comando para comprobar su versión de 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

Procedimiento de migración

Nivel de nodo: Cambiar el sistema operativo

La versión de cgroup de un nodo depende de su sistema operativo.

  • ECS (including EGS) node pools:

    Change the operating system a nivel de node pool. Las siguientes operating systems usan cgroup v2 de forma predeterminada:

    • Alibaba Cloud Linux 3.2104 LTS 64-bit container-optimized

    • Alibaba Cloud Linux 4 LTS 64-bit container-optimized

    • ContainerOS 3.3 y posteriores

    • RHEL 9 y posteriores

    • Ubuntu 22 y posteriores

  • Lingjun node pools

    Reinstale los nodos y vuelva a unirlos al clúster:

    1. Elimine el nodo: Remove a Lingjun node del clúster de ACK. De forma opcional, realice un Drain antes de eliminarlo.

      El drenado de un nodo requiere otros nodos con recursos suficientes para alojar los Pods desalojados. Asegúrese de que el clúster tenga capacidad suficiente.
    2. Reinstale el sistema operativo: En Lingjun console, reinstall the node con una imagen de sistema operativo compatible con cgroup v2.

    3. Vuelva a unir el nodo al clúster: Add the Lingjun node al clúster de ACK.

  • Hybrid cloud node pools

    Usted gestiona el sistema operativo. Actualice a un sistema operativo compatible con cgroup v2 para evitar fallos al actualizar o volver a unir nodos.

Nivel de aplicación: Garantizar la compatibilidad de cargas de trabajo

cgroup v1 y v2 tienen estructuras de sistema de archivos y nombres de parámetros incompatibles. Cualquier aplicación que lea directamente /sys/fs/cgroup debe verificarse o actualizarse para cgroup v2.

Categoría

Descripción

Aplicaciones Java

  • DragonWell: 11.0.16.12, 8.15.16-GA y posteriores.

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

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

  • IBM Java: 8.0.8.6 y posteriores.

Aplicaciones Go

Si usa uber-go/automaxprocs, actualice a la versión v1.5.1 o posterior.

cAdvisor

Si despliega cAdvisor como un DaemonSet independiente, actualice a la versión v0.43.0 o posterior.

Nginx Ingress

Las versiones anteriores pueden provocar errores OOMKilled debido a un análisis incorrecto de núcleos de CPU en cgroup v2. Actualice a la versión v1.11.2 o posterior. Consulte el issue #9665 en GitHub.

Para actualizar el Nginx Ingress Controller de ACK, consulte Upgrade the Nginx Ingress Controller component.
Otras aplicaciones y componentes
  • Agentes de monitoreo y APM de terceros: Herramientas como Prometheus Node Exporter, Datadog Agent y SkyWalking leen cgroupfs para obtener métricas. Las versiones incompatibles pueden causar pérdida de datos o anomalías. Actualice a una versión compatible con cgroup v2.

  • Herramientas de seguridad y auditoría: Herramientas como Falco y Sysdig usan datos de cgroup para atribuir eventos. Las versiones incompatibles pueden provocar fallos en reglas de detección o falsos positivos. Actualice a una versión compatible y verifique las reglas en un entorno de pruebas.

  • Aplicaciones sensibles al rendimiento y scripts personalizados: Los scripts de inicio que leen archivos de cgroup para autoajuste (como establecer el número de hilos según la cuota de CPU) fallarán en cgroup v2 debido a cambios en las rutas. Revise y actualice estos scripts para cgroup v2.

Recomendaciones para producción