Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Política de reserva de recursos de nó

Última atualização: Oct 15, 2026

O ACK reserva a CPU e a memória do nó para o Kubernetes e os componentes do sistema. Isso cria 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 requer o Kubernetes 1.20 ou posterior. Para atualize, consulte {{XREF_0}}.

Escopo de impacto

Reserva de recursos personalizada e seu escopo de impacto

Para alterar os valores de reserva, {{XREF_1}}. As alterações são aplicadas imediatamente aos nós existentes. Os novos nós — incluindo aqueles provenientes de dimensionamento ou de Add Existing Node — também usam a configuração atualizada.

Importante
  • Não edite manualmente o arquivo de configuração do kubelet na linha de comando. Isso pode causar conflitos de configuração e comportamentos inesperados durante a operação e gerencie 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 remoçã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 valores atualizados são aplicados automaticamente quando você realiza alterações no nível do nó — por exemplo, ao atualize o cluster ou o pool de nós, ou ao modificar os parâmetros do kubelet. Sem essas alterações, os nós existentes mantêm os valores anteriores para garantir a estabilidade.

visualize recursos agendáveis do nó

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

MemTotal:        7660952 kB

Saída esperada:

MemTotal:        7660952 kB

Calcular recursos agendáveis

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

Detalhes da fórmula:

  • Os recursos totais correspondem ao campo Capacity na saída da consulta do nó.

  • Consulte {{XREF_2}}.

  • Consulte Remoção por pressão no nó para saber mais sobre os limiares de remoção.

Detalhes da política de reserva de recursos

Os recursos reservados dependem de vários fatores:

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

  • Os nós Windows reservam mais recursos do que os nós Linux para o sistema operacional e os componentes do Windows Server. Consulte {{XREF_3}}.

O ACK calcula os recursos reservados com base em intervalos de CPU e memória — o total é igual à soma de todos os intervalos. No Kubernetes 1.28, o ACK otimizou o algoritmo para reduzir as reservas. Consulte {{XREF_4}}.

O ACK divide os recursos reservados igualmente entre os componentes do Kubernetes (kubeReserved) e os 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, a reserva total de CPU é calculada 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, a reserva total de CPU é calculada 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 é o 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

    As contagens máximas de pods variam de acordo com o plug-in de rede. Consulte {{XREF_5}} para mais detalhes.

    Faça login no Container Service Management Console 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ê ao crie o cluster.

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

Por exemplo, com o Terway (ENI compartilhado, vários IP) em um ECS.g7.16xlarge (256 GiB de memória): o máximo de pods é (8 − 1) × 30 + 3 = 213. A 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, a reserva total de memória é calculada 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 {{XREF_6}} 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 de ENI compartilhado com múltiplos IP 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

FAQ

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

CPU

Visualize o total de núcleos de CPU:

MemTotal:        7660952 kB

Saída esperada:

MemTotal:        7660952 kB

Memória

Visualize a memória total:

MemTotal:        7660952 kB

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 do sistema operacional), portanto, a memória disponível é sempre menor. Consulte {{XREF_7}}.

Referências

  • Personalize as reservas de recursos e os limiares de remoção por meio de {{XREF_8}}.

  • O total de solicitações de pods em um nó não deve exceder os recursos agendáveis, caso contrário, os pods não serão agendados. Use o {{XREF_9}} do ACK para analisar o uso histórico e defina solicitações precisas para workloads nativos do Kubernetes. Consulte {{XREF_10}}.

{{CODEBLOCK_0}}

{{CODEBLOCK_1}}

{{CODEBLOCK_2}}

{{CODEBLOCK_3}}

{{CODEBLOCK_4}}

{{CODEBLOCK_5}}

Manually upgrade a cluster

configure kubelet for a node pool

Resource reservation policy details

Crie and gerencie Windows node pools

Manually upgrade a cluster

Maximum pods per node

Instance families

After purchasing an instance, why does the displayed memory differ from the instance type specification?

configuring kubelet for a node pool

resource profiling

Crie a Deployment

kubectl describe node [NODE_NAME] | grep Allocatable -B 7 -A 6
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
cat /proc/cpuinfo | grep processor
processor       : 0
processor       : 1
processor       : 2
processor       : 3
cat /proc/meminfo | grep MemTotal
MemTotal:        7660952 kB

{{CODEBLOCK_6}}

{{CODEBLOCK_7}}

{{CODEBLOCK_8}}

{{CODEBLOCK_9}}

{{CODEBLOCK_10}}

{{CODEBLOCK_11}}

{{CODEBLOCK_12}}

{{CODEBLOCK_13}}

{{CODEBLOCK_14}}

{{CODEBLOCK_15}}

{{CODEBLOCK_16}}

{{CODEBLOCK_17}}