Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-11-28 GMT+08:00

Alteração de limites de ID de processo (kernel.pid_max)

Contexto

Os IDs de processos (PIDs) são um recurso fundamental nos nós. É trivial atingir o limite de tarefas sem atingir nenhum outros limites de recursos, o que pode causar instabilidade em uma máquina host.

Você pode ajustar o limite de PID (kernel.pid_max) de acordo com os requisitos de serviço.

Padrões do kernel.pid_max

A partir de janeiro de 2022, o CCE altera o valor padrão de kernel.pid_max para 4194304 para os nós de EulerOS 2.5, CentOS 7.6 e Ubuntu 18.04 em clusters de v1.17 ou posterior. Condições específicas:

  • Versão do cluster: v1.17.17 ou posterior
  • Criação de nó: após 30 de janeiro de 2022

Se as duas condições anteriores não forem atendidas, kernel.pid_max nos nós de EulerOS 2.5, CentOS 7.6 e Ubuntu 18.04 o padrão é 32768.

Tabela 1 Padrões do kernel.pid_max

SO

Clusters de 1.17.9 e anteriores

Clusters de 1.17.17 e posteriores

Nós criados em ou antes de 30 de janeiro de 2022

Nós criados após 30 de janeiro de 2022

EulerOS 2.5

32768

32768

4194304

CentOS 7.6

32768

32768

4194304

Ubuntu 18.04

N/D

32768

4194304

EulerOS 2.3

57344

57344

57344

EulerOS 2.9

N/D

4194304

4194304

Sugestão de alteração

Exibir kernel.pid_max

Faça logon no nó e execute o seguinte comando para obter o valor de kernel.pid_max:

sysctl kernel.pid_max

# sysctl kernel.pid_max
kernel.pid_max = 32768

Altere kernel.pid_max, se necessário, conforme instruído em Alterar o kernel.pid_max de um nó.

Verificar os PIDs de nó

Faça logon no nó e execute o seguinte comando para verificar quantos PIDs estão em uso:

ps -eflL | wc -l

# ps -eflL | wc -l
691

Alterar o kernel.pid_max de um nó

Faça logon no nó e execute o seguinte comando: 4194304 indica o valor de kernel.pid_max e é usado como um exemplo aqui.

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

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

Execute os seguintes comandos para verificar se o valor retornado é o mesmo que você configurou:

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

Configurar kernel.pid_max ao criar um pool de nós

EulerOS 2.3: configuração necessária.

EulerOS 2.5, CentOS 7.6 e Ubuntu 18.04: configuração necessária para clusters v1.17.9 e anteriores. Configuração desnecessária para clusters de v1.17.17 e posterior porque o valor foi alterado.

Você pode configurar kernel.pid_max no script de pré-instalação para criar um nó de um pool de nós.

Ao criar um pool de nós, escolha Advanced Settings > Post-installation Command e adicione o seguinte comando:

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

Configurar kernel.pid_max ao criar um nó

EulerOS 2.3: configuração necessária.

EulerOS 2.5, CentOS 7.6 e Ubuntu 18.04: configuração necessária para clusters v1.17.9 e anteriores. Configuração desnecessária para clusters de v1.17.17 e posterior porque o valor foi alterado.

Você pode configurar kernel.pid_max usando o script de pré-instalação ao criar um nó.

EscolhaAdvanced Settings > Post-installation Command e adicione o seguinte comando:

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