A partir de la versión 1.32, Google Kubernetes Engine (GKE) migra los clústeres que ejecutan cgroupv1
a cgroupv2
. En esta página, se explica cómo hacer lo siguiente:
- Verifica en qué modo de cgroup se ejecutan los nodos de tu clúster y si tus cargas de trabajo podrían verse afectadas por la transición entre los modos de cgroup.
- Migra los grupos de nodos de clústeres de GKE Standard a
cgroupv2
. - Inhabilita temporalmente la migración automática de grupos de nodos de GKE con
cgroupv1
acgroupv2
. Sigue estas instrucciones si tu clúster ejecuta cargas de trabajo que podrían verse afectadas por la transición entre los modos de cgroup.
Puedes migrar manualmente los grupos de nodos estándar o inhabilitarlos temporalmente. No puedes migrar ni inhabilitar temporalmente los clústeres de Autopilot.
Puedes omitir la lectura de esta página si sabes que tus cargas de trabajo se ejecutan como se espera en cgroupv2
o no se ven afectadas por la configuración del modo cgroup.
GKE migra automáticamente los clústeres que ejecutan cgroupv1
a cgroupv2
con la versión 1.32 y versiones posteriores.
Acerca de los grupos de control de Linux
kubelet y el entorno de ejecución del contenedor usan grupos de control (cgroups) de kernel de Linux para la administración de recursos, como limitar la cantidad de CPU o memoria a la que puede acceder cada contenedor en un Pod. Hay dos versiones del subsistema cgroup en el kernel: cgroupv1
y cgroupv2
.
La compatibilidad de Kubernetes con cgroupv2
se ingresó como alfa en la versión 1.18 de Kubernetes, Beta en 1.22 y en fase de disponibilidad general en 1.25. Para obtener más información, consulta la documentación de cgroups v2 de Kubernetes.
Para obtener información sobre cómo configurar un modo cgroup para clústeres estándar, consulta Opciones de configuración del modo cgroup de Linux.
Cómo GKE realiza la transición a cgroupv2
Revisa el siguiente cronograma para comprender cómo GKE está realizando la transición de los clústeres existentes para usar cgroupv2
:
- Para las versiones anteriores a la 1.26,
cgroupv1
era el valor predeterminado para los nodos. Para las versiones 1.26 o posteriores,cgroupv2
es la opción predeterminada para los nodos nuevos. No hay cambios en los nodos existentes. Para obtener más información sobre el modo de cgroup que ejecutan los clústeres de GKE de forma predeterminada, consulta Verifica el modo de cgroup de los nodos del clúster. - Con la versión secundaria 1.31, GKE da de baja
cgroupv1
. - A partir de la versión 1.32, GKE migra los clústeres que ejecutan
cgroupv1
acgroupv2
. Para evitar temporalmente esta migración automática, especifica de forma explícita que un grupo de nodos usecgroupv1
. - Con la versión secundaria 1.34, GKE quita la compatibilidad con
cgroupv1
.
Para conocer los tiempos aproximados de las actualizaciones automáticas a versiones secundarias posteriores, como 1.31 y 1.32, consulta el Programa estimado para los canales de versiones.
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta
gcloud components update
para obtener la versión más reciente.
Verifica el modo de cgroup de los nodos del clúster
El modo de cgroup predeterminado depende del tipo de clúster o grupo de nodos, y de la versión. Con la versión 1.26 o posterior, el valor predeterminado es cgroupv2
. Con la versión 1.25 o anteriores, el valor predeterminado es cgroupv1
:
- En el caso de los clústeres de Autopilot y los nuevos grupos de nodos de clústeres de Standard que se crean con el aprovisionamiento automático de nodos, el modo cgroup se basa en la versión inicial del clúster.
- En el caso de los grupos de nodos de clústeres estándar creados de forma manual sin aprovisionamiento automático de nodos, el modo cgroup se basa en la versión inicial del grupo de nodos.
Para verificar el modo de cgroup, sigue las instrucciones según el modo de tu clúster.
Autopilot
Ejecuta el siguiente comando y reemplaza CLUSTER_NAME
por el nombre de tu clúster:
gcloud container clusters describe CLUSTER_NAME \
--format='value(initialClusterVersion)'
Los clústeres de GKE Autopilot que se crearon inicialmente con la versión 1.25 de GKE o una anterior ejecutan cgroupv1
. Los clústeres que se crearon inicialmente con la versión 1.26 o una posterior ejecutan cgroupv2
.
Estándar
Con los clústeres de GKE Standard, el modo cgroup se establece a nivel del grupo de nodos. Para verificar el modo de grupos de nodos individuales, sigue las instrucciones para verificar la configuración de cgroup.
Si los nodos de tu clúster ya usan cgroupv2
, no es necesario que realices ninguna otra acción.
Migra nodos a cgroupv2
Te recomendamos que migres los nodos existentes antes de que GKE los migre automáticamente en la versión 1.32 o posterior. Puedes migrar manualmente los grupos de nodos de Standard. No puedes migrar clústeres de Autopilot.
Sigue estos pasos para migrar nodos que ejecutan cgroupv1
:
- Verifica el modo cgroup de los nodos. Si los nodos de tu clúster ya usan
cgroupv2
, no es necesario que realices ninguna otra acción. - Revisa las consideraciones sobre la migración, Migra a cgroup v2, para asegurarte de que tus cargas de trabajo estén preparadas para usar la nueva versión de la API.
Para migrar los nodos de tu clúster de Standard, agrega lo siguiente a la configuración del sistema de nodos de cada grupo de nodos:
linuxConfig: cgroupMode: 'CGROUP_MODE_V2'
Inhabilita temporalmente la migración automática a cgroupv2
Puedes inhabilitar temporalmente los grupos de nodos estándar. No puedes inhabilitar temporalmente los clústeres de Autopilot.
Para evitar temporalmente la migración automática de los grupos de nodos de clústeres estándar que ejecutan cgroupv1
a cgroupv2
con las versiones menores 1.32 y posteriores, debes configurar cgroupv1
de forma explícita.
Para los grupos de nodos estándar existentes, agrega lo siguiente a la configuración del sistema de nodos de cada grupo de nodos:
linuxConfig:
cgroupMode: 'CGROUP_MODE_V1'
Para obtener más información, consulta Personaliza la configuración del sistema de nodos.