Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Node Resource Reservation Policy

Última atualização: Jun 27, 2026

O ACK reserva CPU e memória dos nós para componentes do Kubernetes e do sistema. Isso gera uma diferença entre a capacidade total do nó (Capacity) e os recursos agendáveis (Allocatable). O ACK aplica uma política de reserva padrão e também permite reservas personalizadas por meio da configuração do kubelet.

Limites

A reserva personalizada de recursos exige Kubernetes 1.20 ou posterior. Para atualizar, consulte Fazer upgrade manual de um cluster.

Escopo de impacto

Reserva de recursos personalizada e seu escopo de impacto

Para alterar os valores de reserva, configure o kubelet para um pool de nós. As alterações são aplicadas imediatamente aos nós existentes. Novos nós — incluindo aqueles provenientes de dimensionamento ou da opção Add Existing Node — também utilizam a configuração atualizada.

Importante
  • Não edite manualmente o arquivo de configuração do kubelet na linha de comando. Essa ação pode causar conflitos de configuração e comportamentos inesperados durante a operação e manutenção do pool de nós.

  • Aumentar a reserva de recursos reduz os recursos agendáveis. Em nós com alto uso de recursos, isso pode acionar a evicção de pods. Defina os valores com cuidado.

Escopo de impacto da reserva de recursos padrão

O ACK pode atualizar os valores de reserva padrão ao longo do tempo. Os novos valores são aplicados automaticamente quando você executa alterações no nível do nó — por exemplo, ao fazer upgrade do cluster ou do pool de nós, ou ao modificar parâmetros do kubelet. Sem essas alterações, os nós existentes mantêm os valores anteriores para garantir estabilidade.

Visualizar recursos agendáveis do nó

Visualize a capacidade total e os recursos agendáveis de um nó:

kubectl describe node [NODE_NAME] | grep Allocatable -B 7 -A 6

Saída esperada:

Capacity:
  cpu:                4                 # Total CPU cores on the node.
  ephemeral-storage:  123722704Ki       # Total ephemeral storage on the node, in KiB.
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             7925980Ki         # Total memory on the node, in KiB.
  pods:               64
Allocatable:
  cpu:                3900m             # Allocatable CPU cores.
  ephemeral-storage:  114022843818      # Allocatable ephemeral storage, in bytes.
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             5824732Ki         # Allocatable memory, in KiB.
  pods:               64

Calcular recursos agendáveis

Use esta fórmula para calcular os recursos agendáveis: Allocatable = Capacity − Reserved − Eviction threshold

Detalhes da fórmula:

Detalhes da política de reserva de recursos

Os recursos reservados dependem de vários fatores:

  • Instâncias ECS com especificações mais altas executam mais pods; portanto, o ACK reserva mais recursos para os componentes do Kubernetes.

  • Nós Windows reservam mais recursos do que nós Linux para o sistema operacional e componentes do Windows Server. Consulte Criar e gerenciar pools de nós Windows.

O ACK calcula os recursos reservados com base em faixas de CPU e memória. O total equivale à soma de todas as faixas. No Kubernetes 1.28, o ACK otimizou o algoritmo para reduzir as reservas. Consulte Fazer upgrade manual de um cluster.

Os recursos reservados dividem-se igualmente entre componentes do Kubernetes (kubeReserved) e processos do sistema (systemReserved). Em um nó de 4 núcleos, o ACK reserva 80 milicores no Kubernetes 1.28+ (40 kubeReserved + 40 systemReserved) ou 100 milicores nas versões 1.20 a 1.27 (50 + 50).

Política de reserva de recursos de CPU

Kubernetes 1.28 e posteriores

Reserva total de CPU para nós de computação:

image

Para um nó de 32 núcleos, calcule a reserva total de CPU da seguinte forma:

1000 × 6% + 1000 × 1% + 1000 × 2 × 0.5% + (32000 − 4000) × 0.25% = 150 millicores

Kubernetes 1.20 a 1.27

Reserva total de CPU para nós de computação:

image

Para um nó de 32 núcleos, calcule a reserva total de CPU da seguinte forma:

100 + (32000 − 4000) × 2.5% = 800 millicores

Política de reserva de recursos de memória

Kubernetes 1.28 e posteriores

Fórmula de reserva total de memória:

Total memory reservation = min(11 × ($max_num_pods) + 255, 25% × node memory). O valor final corresponde ao menor entre 11 × ($max_num_pods) + 255 e 25% of node memory.

  • $max_num_pods: Número máximo de pods suportados no nó.

    Nota

    Os limites máximos de pods variam conforme o plug-in de rede. Consulte Máximo de pods por nó para mais detalhes.

    Acesse o Console de Gerenciamento do Container Service e visualize a contagem máxima de pods na página Nodes.
    • Terway: Maximum pods per node = Maximum container-network pods + Host-network pods.

    • Flannel: Definido por você durante a criação do cluster.

  • Node memory: Memória utilizável real, em MiB.

Por exemplo, com Terway (ENI compartilhado, múltiplos IPs) em uma instância ecs.g7.16xlarge (256 GiB de memória): máximo de pods = (8 − 1) × 30 + 3 = 213. Reserva total de memória = min(11 × (210 + 3) + 255, 256 × 1024 × 25%) = 2598 MiB.

Kubernetes 1.20 a 1.27

Reserva total de memória para um nó de computação:

image

Para um nó com 256 GiB de memória, calcule a reserva total de memória da seguinte forma:

4 × 25% + (8 − 4) × 20% + (16 − 8) × 10% + (128 − 16) × 6% + (256 − 128) × 2% = 11.88 GiB

Exemplos de reservas padrão de recursos para nós do ACK

Nota

Consulte Famílias de instâncias para obter detalhes sobre os tipos de instância ECS.

Recursos totais do nó

Recursos reservados (Kubernetes 1.28 e posteriores)

Recursos reservados (Kubernetes 1.20 a 1.27)

Tipo de instância de exemplo

CPU (núcleos)

Memória

(GiB)

Máximo de Pods por Nó

(usando o modo multi-IP com ENI compartilhado do Terway como exemplo)

CPU

(milicores)

Memória

(MiB)

CPU (milicores)

Memória (MiB)

Tipos de instância ECS c7

2

4

15

70

420

100

1024

4

8

48

80

783

100

1843

8

16

48

90

783

200

2662

16

32

213

110

2598

400

3645

32

64

213

150

2598

800

5611

64

128

213

230

2598

1600

9543

128

256

423

390

4908

2400

12164

Tipos de instância ECS ebmc7a

256

512

453

710

5238

3040

17407

Perguntas frequentes

Como visualizo o total de CPU e memória em um nó?

CPU

Visualize o total de núcleos de CPU:

cat /proc/cpuinfo | grep processor

Saída esperada:

processor       : 0
processor       : 1
processor       : 2
processor       : 3

Memória

Visualize a memória total:

cat /proc/meminfo | grep MemTotal

Saída esperada:

MemTotal:        7660952 kB

Por que a memória disponível é menor que a especificação do tipo de instância?

As especificações do tipo de instância incluem a memória total (incluindo o uso pelo sistema operacional); portanto, a memória disponível é sempre menor. Consulte Após comprar uma instância, por que a memória exibida difere da especificação do tipo de instância?.

Referências