Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Cloud Container Engine/ Guía del usuario/ Nodos/ Optimizing Node System Parameters/ Cambio de los límites de ID de proceso (kernel.pid_max)
Actualización más reciente 2024-09-10 GMT+08:00

Cambio de los límites de ID de proceso (kernel.pid_max)

Contexto

Los ID de proceso (PID) son un recurso fundamental en los nodos. Es trivial alcanzar el límite de tareas sin alcanzar ningún otro límite de recursos, lo que puede causar inestabilidad a una máquina host.

Puede ajustar el límite de PID (kernel.pid_max) de acuerdo con los requisitos de servicio.

kernel.pid_max predeterminados

A partir de enero de 2022, CCE cambia el valor predeterminado de kernel.pid_max a 4194304 para los nodos de EulerOS 2.5, CentOS 7.6 y Ubuntu 18.04 en clústeres de v1.17 o posterior. Condiciones específicas:

  • Versión del clúster: v1.17.17 o posterior
  • Creación del nodo: después del 30 de enero de 2022

Si no se cumplen las dos condiciones anteriores, el kernel.pid_max en los nodos de EulerOS 2.5, CentOS 7.6 y Ubuntu 18.04 es 32768 por defecto.

Tabla 1 kernel.pid_max predeterminados

SO

Clústeres de 1.17.9 y anteriores

Clústeres de 1.17.17 y posteriores

Nodos creados el 30 de enero de 2022 o antes

Nodos creados después del 30 de enero de 2022

EulerOS 2.5

32768

32768

4194304

CentOS 7.6

32768

32768

4194304

Ubuntu 18.04

N/A

32768

4194304

EulerOS 2.3

57344

57344

57344

EulerOS 2.9

N/A

4194304

4194304

Sugerencia de cambio

Consulta de kernel.pid_max

Log in to the node and run the following command to query the value of kernel.pid_max:

sysctl kernel.pid_max

# sysctl kernel.pid_max
kernel.pid_max = 32768

Si es necesario, cambie kernel.pid_max según lo indicado en Cambio de kernel.pid_max de un nodo.

Comprobación de PID de nodo

Inicie sesión en el nodo y ejecute el siguiente comando para comprobar cuántos PID están en uso:

ps -eflL | wc -l

# ps -eflL | wc -l
691

Cambio de kernel.pid_max de un nodo

Inicie sesión en el nodo y ejecute el siguiente comando. 4194304 indica el valor de kernel.pid_max y se usa como ejemplo aquí.

echo kernel.pid_max = 4194304 >> /etc/sysctl.conf && sysctl -p

echo 4194304 > /sys/fs/cgroup/pids/kubepods/pids.max

Ejecute los siguientes comandos para comprobar si el cambio es correcto (si el valor devuelto es el mismo que el configurado).

# sysctl kernel.pid_max
kernel.pid_max = 4194304
# cat /sys/fs/cgroup/pids/kubepods/pids.max
4194304

Configuración de kernel.pid_max al crear un grupo de nodos

EulerOS 2.3: Se requiere la configuración.

EulerOS 2.5, CentOS 7.6 y Ubuntu 18.04: Configuration required para clústeres de v1.17.9 y anteriores. Configuration NOT required para clústeres de v1.17.17 y posteriores porque se ha cambiado el valor.

Puede configurar kernel.pid_max en el script de preinstalación para crear un nodo a partir de un grupo de nodos.

Al crear un grupo de nodos, elija Advanced Settings > Post-installation Command y agregue el siguiente comando:

echo kernel.pid_max = 4194304 >> /etc/sysctl.conf && sysctl -p

Configuración de kernel.pid_max al crear un nodo

EulerOS 2.3: Se requiere la configuración.

EulerOS 2.5, CentOS 7.6 y Ubuntu 18.04: Configuration required para clústeres de v1.17.9 y anteriores. Configuration NOT required para clústeres de v1.17.17 y posteriores porque se ha cambiado el valor.

Puede configurar kernel.pid_max mediante el script de preinstalación al crear un nodo.

Elija Advanced Settings > Post-installation Command y agregue el siguiente comando:

echo kernel.pid_max = 4194304 >> /etc/sysctl.conf && sysctl -p