Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Personalizar parâmetros de SO do pool de nós

Última atualização: Nov 02, 2026

Quando os parâmetros padrão do SO Linux não atendem aos requisitos da sua carga de trabalho, personalize os parâmetros de SO dos nós no nível do pool de nós para ajustar o desempenho do sistema. O sistema altera as configurações dos nós em lotes: as alterações entram em vigor imediatamente nos nós existentes e os novos nós adicionados usam a nova configuração.

Notas de uso

Este recurso é suportado apenas pela versão 1.28 ou posterior dos clusters gerenciados pelo ACK, clusters dedicados do ACK (não disponíveis para novas criações) e clusters ACK Edge. Para atualizar um cluster, consulte Atualizar manualmente um cluster.

Observações

  • A modificação dinâmica da configuração de SO de um nó pode alterar a configuração dos Pods existentes nesse nó e acionar a recriação dos Pods. Antes de usar este recurso, certifique-se de que sua aplicação ofereça alta disponibilidade (HA).

  • Ajustes inadequados nos parâmetros de SO alteram o funcionamento do kernel Linux. Isso pode degradar o desempenho do nó ou torná-lo indisponível, afetando consequentemente suas cargas de trabalho. Compreenda totalmente a finalidade de cada parâmetro antes de modificá-lo e teste a alteração exaustivamente antes de aplicá-la em um ambiente de produção.

  • Não exclua itens de configuração do sysctl. Se você excluir um item de configuração diretamente, a configuração permanecerá nos nós existentes.

Configurar parâmetros de SO do pool de nós

É possível configurar parâmetros Sysctl e Transparent Huge Pages (THP) para um pool de nós. Todos esses parâmetros podem ser configurados mediante a modificação de arquivos de configuração. Os parâmetros THP e alguns parâmetros sysctl também podem ser configurados no console ou via OpenAPI.

Configurar pelo console ou OpenAPI

Console

A aplicação de parâmetros de SO personalizados altera a configuração de parâmetros de SO dos nós existentes e pode afetar suas cargas de trabalho. Execute esta operação fora do horário de pico.

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Nodes > Node Pools.

  3. Na coluna Actions da lista de pools de nós, clique em image> OS Configuration para o pool de nós desejado.

  4. Leia atentamente as observações na página atual. Clique em + Custom Parameters e selecione os parâmetros que deseja configurar. Especifique os nós a serem configurados e defina o Maximum Number of Nodes to Repair per Batch com um valor de até 10. Em seguida, clique em Submit e siga as instruções na tela para concluir a operação.

    Após configurar o Maximum Number of Nodes to Repair per Batch, a configuração de SO entra em vigor nos nós em lotes. Durante a execução, a área Event History mostra o progresso e permite pausar, retomar ou cancelar o trabalho. Use o recurso de pausa para validar os nós que já foram configurados. Quando um trabalho é pausado, os nós que estão sendo configurados continuam até a conclusão. Os nós que ainda não iniciaram não recebem a configuração personalizada até que o trabalho seja retomado.

    Importante

    Conclua o trabalho de configuração personalizada o mais rápido possível. Um trabalho pausado é cancelado automaticamente após sete dias, e as informações associadas de eventos e logs também são limpas.

OpenAPI

Além do console, os parâmetros de SO podem ser personalizados usando a operação ModifyNodePoolNodeConfig.

Configurar usando um arquivo de configuração

O ACK permite gravar parâmetros personalizados em /etc/sysctl.d/99-user-customized.conf. Este arquivo é reservado para configurações personalizadas durante a inicialização e reinicialização do nó. Os parâmetros sysctl gravados neste arquivo têm prioridade quando o nó é reiniciado. Eles substituem os valores padrão do SO e os valores de parâmetros gravados pelo recurso de configuração sysctl personalizada do pool de nós.

Importante

Além das precauções na seção Observações, o ajuste de parâmetros sysctl altera o funcionamento do kernel Linux e pode degradar o desempenho do nó ou tornar os nós indisponíveis, o que afeta a operação normal da carga de trabalho. Avalie completamente os riscos de uma alteração e teste-a em um ambiente fora de produção antes de aplicá-la em um ambiente de produção.

Nós existentes

Para nós existentes em um pool de nós, faça login em um nó e modifique o arquivo de configuração de parâmetros personalizados. Em seguida, execute manualmente o comando sysctl -p /etc/sysctl.d/99-user-customized.conf para aplicar a configuração.

Exemplo de arquivo de configuração (/etc/sysctl.d/99-user-customized.conf):

# Filesystem settings
fs.file-max = 2097152
fs.nr_open = 1048576

# Networking settings
net.core.somaxconn = 32768
net.ipv4.tcp_max_syn_backlog = 8096

# Memory / kernel settings
vm.max_map_count = 262144

Substitua os nomes e valores dos parâmetros pelos necessários para sua carga de trabalho.

Novos nós (scale-out)

Para nós que o pool de nós adiciona durante o scale-out, adicione o script que grava o arquivo de configuração de parâmetros personalizados aos Dados Personalizados Predefinidos do pool de nós. Os novos nós usarão esses valores de parâmetros personalizados por padrão. Configure isso da seguinte maneira.

Nos Pre-defined Custom Data da configuração do pool de nós, configure echo '${sysctl_key}=${sysctl_value}' > /etc/sysctl.d/99-user-customized.conf. Substitua ${sysctl_key} e ${sysctl_value} pelos valores reais para gravar a configuração personalizada em um arquivo de configuração no diretório /etc/sysctl.d/.

Para mais informações, consulte Criar e gerenciar pools de nós .

image

Verificar se as alterações entraram em vigor

Após aplicar parâmetros de SO personalizados, verifique se as alterações entraram em vigor nos seus nós.

  1. Faça login em um nó no pool de nós. Para mais informações, consulte Escolher um método de conexão.

  2. Execute o comando sysctl para verificar o valor atual de um parâmetro. Por exemplo:

    sysctl fs.file-max

    Saída esperada:

    fs.file-max = 2097152
  3. Para parâmetros THP, leia o arquivo sysfs correspondente. Por exemplo:

    cat /sys/kernel/mm/transparent_hugepage/enabled
  4. No console ACK, verifique a seção Event History do pool de nós para conferir o status da tarefa de configuração.

Lista de parâmetros sysctl

Nota
  • O Default value nas tabelas a seguir é o valor que o ACK define por padrão ao inicializar um pool de nós.

  • Para os intervalos válidos dos parâmetros a seguir, consulte a documentação sobre parâmetros sysctl do kernel Linux.

  • Para parâmetros que ainda não são suportados no console ou via OpenAPI, e para parâmetros não listados nas tabelas, consulte Configurar usando um arquivo de configuração para modificá-los.

Parâmetros de sistema de arquivos

Estes parâmetros controlam limites de manipuladores de arquivos, watches inotify e comportamento do sistema de arquivos. Ajuste essas configurações para cargas de trabalho intensivas em I/O ou aplicações que abrem um grande número de arquivos.

Nome do campo

Descrição

Valor padrão

Suportado no console ou via OpenAPI

fs.aio-max-nr

Número máximo de operações de I/O assíncronas.

65536

Yes

fs.file-max

Número máximo de manipuladores de arquivos que o sistema pode abrir.

2097152

Yes

fs.inotify.max_user_watches

Número máximo de watches inotify que um único usuário pode criar.

524288

Yes

fs.nr_open

Número máximo de descritores de arquivos que cada processo pode abrir.

Este valor deve ser menor que o valor de fs.file-max.

1048576

Yes

fs.inotify.max_user_instances

Limita o número de instâncias inotify que um único usuário pode criar para evitar esgotamento de recursos.

16384

No

fs.inotify.max_queued_events

Define o número de eventos do sistema de arquivos (FS) que podem ser armazenados em buffer na fila do kernel.

16384

No

fs.may_detach_mounts

Permite que o kernel desanexe com segurança um ponto de montagem de um namespace enquanto processos ainda o acessam, evitando que todo o namespace seja bloqueado.

1

No

Parâmetros de rede

Esses parâmetros regem buffers de socket, filas de conexão, memória TCP e comportamento do cache ARP. Ajuste essas configurações para cargas de trabalho com alto tráfego ou alta concorrência.

Nome do campo

Descrição

Valor padrão

Suportado no console ou via OpenAPI

net.core.netdev_max_backlog

Número máximo de pacotes de dados que podem ser enfileirados em INPUT quando uma interface recebe pacotes de dados mais rápido do que o kernel consegue processá-los.

16384

Yes

net.core.optmem_max

Tamanho máximo do buffer auxiliar permitido para cada socket de rede, em bytes.

20480

Yes

net.core.rmem_max

Tamanho máximo do buffer de recepção para cada socket de rede, em bytes.

16777216

Yes

net.core.wmem_max

Tamanho máximo do buffer de envio para cada socket de rede, em bytes.

16777216

Yes

net.core.wmem_default

Tamanho padrão do buffer de envio para cada socket de rede, em bytes.

212992

Yes

net.ipv4.tcp_mem

Quantidade de memória disponível para a pilha TCP, medida em páginas de memória, que normalmente têm 4 KB. Este parâmetro consiste em três valores inteiros que representam os níveis baixo, pressão e alto, e os valores devem ser definidos nesta ordem exata.

Calculado dinamicamente com base na memória total do sistema

Yes

net.ipv4.neigh.default.gc_thresh1

Número mínimo de entradas retidas no cache ARP. O sistema não realiza coleta de lixo quando o número de entradas em cache está abaixo deste valor.

Pré-definido pelo sistema

Yes

net.ipv4.neigh.default.gc_thresh2

Limite flexível para o número de entradas no cache ARP. Quando o número de entradas em cache atinge este valor, o sistema considera a coleta de lixo, mas não a impõe imediatamente, aguardando um atraso de 5 segundos.

1024

Yes

net.ipv4.neigh.default.gc_thresh3

Limite rígido para o número de entradas retidas no cache ARP. Quando o número de entradas em cache atinge este valor, o sistema executa imediatamente a coleta de lixo. Se o número continuar excedendo esse valor, o sistema continua limpando entradas.

8192

Yes

net.core.somaxconn

Define o número máximo de conexões na fila de escuta do socket para controlar a capacidade de conexões simultâneas.

32768

No

net.ipv4.tcp_wmem

Configura os tamanhos mínimo, padrão e máximo do buffer de envio TCP. Unidade: bytes.

Esta configuração afeta diretamente o throughput de rede e o consumo de memória das conexões TCP.

4096 12582912 16777216

No

net.ipv4.tcp_rmem

Configura os tamanhos mínimo, padrão e máximo do buffer de recepção TCP. Unidade: bytes.

Esta configuração afeta diretamente o throughput de rede e o consumo de memória das conexões TCP.

4096 12582912 16777216

No

net.ipv4.tcp_max_syn_backlog

Limita o número de solicitações de conexão na fila SYN que não concluíram o handshake de três vias.

8096

No

net.ipv4.tcp_slow_start_after_idle

Controla se uma conexão TCP reutiliza o algoritmo de início lento após ficar ociosa por muito tempo.

0

No

net.ipv4.ip_forward

Habilita o encaminhamento de pacotes IPv4, permitindo que o sistema atue como roteador e encaminhe pacotes.

1

No

net.bridge.bridge-nf-call-iptables

Permite que dispositivos bridge apliquem regras iptables da Camada 3 ao encaminhar na Camada 2, garantindo que as políticas de segurança de rede entrem em vigor.

1

No

Parâmetros de memória e kernel

Tais parâmetros controlam limites de processos, contagens de threads, mapeamento de memória e diagnósticos do kernel. Ajuste essas configurações quando suas cargas de trabalho exigirem um grande número de processos ou threads, ou quando for necessário ajustar o comportamento do kernel para garantir estabilidade.

Nome do campo

Descrição

Valor padrão

Suportado no console ou via OpenAPI

kernel.pid_max

Número máximo de PIDs que o sistema pode alocar.

4194303

Yes

kernel.threads-max

Quantidade máxima de threads que o sistema pode criar.

504581

Yes

user.max_user_namespaces

Limite de namespaces de usuário que um único usuário pode criar.

0

Yes

kernel.softlockup_panic

Ao definir este parâmetro como 1, se ocorrer um soft lockup, o kernel aciona um pânico e reinicia o sistema para restaurar rapidamente seu estado.

1

No

kernel.softlockup_all_cpu_backtrace

Com este parâmetro definido como 1, o sistema captura informações de depuração de todas as CPUs caso detecte um soft lockup, auxiliando no diagnóstico de problemas.

1

No

vm.max_map_count

Restringe o número de regiões de mapeamento de memória que um único processo pode ter, prevenindo uso excessivo de memória.

262144

No

Lista de parâmetros THP

Transparent Huge Pages (THP) é um recurso geral do kernel Linux que combina automaticamente páginas pequenas, tipicamente de 4 KB, em páginas grandes, geralmente de 2 MB ou mais. Isso reduz o tamanho das Entradas da Tabela de Páginas (PTEs) usadas para acesso à memória e diminui o número de acessos à memória. Também alivia a pressão sobre o Translation Lookaside Buffer (TLB) e melhora a eficiência do acesso à memória.

Nota
  • Todos os parâmetros a seguir podem ser configurados no console ou via OpenAPI.

  • Os valores padrão dos parâmetros a seguir variam conforme o sistema operacional e a versão do kernel. Para mais informações, consulte a documentação sobre parâmetros THP do kernel Linux.

Nome do campo

Descrição

Valores possíveis

transparent_enabled

Controla se o THP está habilitado em todo o sistema.

  • always: Habilita o THP em todo o sistema.

  • never: Desabilita o THP em todo o sistema.

  • madvise: Habilita o THP apenas em regiões de memória onde uma chamada de sistema madvise() define a flag MADV_HUGEPAGE.

transparent_defrag

Controla se a desfragmentação THP deve ser habilitada. Quando ativada, páginas pequenas na memória podem ser combinadas em uma página grande, o que reduz o tamanho da tabela de páginas e melhora o desempenho do sistema.

  • always: Quando o sistema não consegue alocar uma transparent huge page, ele pausa a alocação de memória e sempre aguarda a recuperação direta de memória e a desfragmentação direta de memória. Se houver memória livre contígua suficiente após a recuperação e desfragmentação, a alocação de transparent huge pages continua.

  • defer: Caso o sistema não consiga alocar uma transparent huge page, ele aloca uma página normal de 4 KB. O sistema também acorda o daemon kswapd para recuperar memória em segundo plano e acorda o daemon kcompactd para desfragmentar a memória em segundo plano. Após algum tempo, se houver memória livre contígua suficiente, o daemon khugepaged pode combinar as páginas de 4 KB previamente alocadas em transparent huge pages de 2 MB.

  • madvise: A alocação de memória comporta-se como na opção always, mas apenas em regiões de memória onde uma chamada de sistema madvise() define a flag MADV_HUGEPAGE.

    Para todas as outras regiões de memória, a alocação permanece a mesma: quando ocorre uma falha de página, uma página normal de 4 KB é alocada.

  • defer+madvise: A alocação de memória comporta-se como na opção always, mas apenas em regiões de memória onde uma chamada de sistema madvise() define a flag MADV_HUGEPAGE. Para todas as outras regiões de memória, a alocação permanece igual à opção defer.

  • never: A desfragmentação está desabilitada.

khugepaged_defrag

khugepaged é uma thread do kernel que gerencia e desfragmenta huge pages para reduzir a fragmentação de memória e melhorar o desempenho. Ela monitora huge pages no sistema e, ao encontrar páginas dispersas, tenta combiná-las em páginas maiores para melhorar a utilização da memória e o desempenho.

Como essa operação realiza bloqueios no caminho de memória, e o daemon khugepaged pode iniciar a varredura e conversão de huge pages em momentos inoportunos, o desempenho da aplicação pode ser afetado.

  • 0: Desabilita a desfragmentação khugepaged.

  • 1: O daemon khugepaged acorda periodicamente quando o sistema está ocioso e tenta combinar páginas contíguas de 4 KB em transparent huge pages de 2 MB.

khugepaged_alloc_sleep_millisecs

Quando uma alocação THP falha, o daemon khugepaged aguarda esse período antes de tentar a próxima alocação de huge page. Isso evita falhas consecutivas de alocação de huge pages em um curto período. Unidade: milissegundos.

Consulte desfragmentação khugepaged.

khugepaged_scan_sleep_millisecs

Intervalo em que o daemon khugepaged acorda. Unidade: milissegundos.

khugepaged_pages_to_scan

Número de páginas de memória que o daemon khugepaged verifica após cada despertar. Unidade: páginas.