Reservas de recursos de nó no Serviço Kubernetes do Azure (AKS)
Neste artigo, você aprenderá sobre reservas de recursos de nó no Serviço Kubernetes do Azure (AKS).
Reservas de recursos
O AKS usa recursos de nó para ajudar os nós a funcionar como parte do cluster. Esse uso pode causar uma discrepância entre os recursos totais do nó e os recursos alocáveis no AKS.
O AKS reserva dois tipos de recursos, CPU e memória, em cada nó para manter o desempenho e a funcionalidade do nó. À medida que um nó cresce em recursos, as reservas de recursos também crescem devido a uma maior necessidade de gerenciamento de pods implantados pelo usuário. Lembre-se de que não é possível alterar as reservas de recursos em um nó.
Reservas de CPU
A CPU reservada depende do tipo de nó e da configuração do cluster, o que pode resultar em CPU menos alocável devido à execução de recursos extras. A tabela a seguir mostra as reservas de CPU em milicores:
Núcleos de CPU no host | 1 núcleo | 2 núcleos | 4 cores | 8 núcleos | 16 núcleos | 32 núcleos | 64 núcleos |
---|---|---|---|---|---|---|---|
CPU com Kube reservado (milicores) | 60 | 100 | 140 | 180 | 260 | 420 | 740 |
Reservas de memória
No AKS, a memória reservada consiste na soma de dois valores:
AKS 1.29 e posterior
kubelet
daemon tem a regra de remoção memory.available < 100 Mi por padrão. Esta regra garante que um nó tenha pelo menos 100 Mi alocáveis em todos os momentos. Quando um host está abaixo desse limite de memória disponível, okubelet
dispara o encerramento de um dos pods em execução e libera memória na máquina host.Uma taxa de reservas de memória definida de acordo com o menor valor de: 20 MB * Max Pods suportados no nó + 50 MB ou 25% do total de recursos de memória do sistema.
Exemplos:
- Se a máquina virtual (VM) fornecer 8 GB de memória e o nó suportar até 30 pods, o AKS reservará 20 MB * 30 Max Pods + 50 MB = 650 MB para kube-reserved.
Allocatable space = 8 GB - 0.65 GB (kube-reserved) - 0.1 GB (eviction threshold) = 7.25 GB or 90.625% allocatable.
- Se a VM fornecer 4 GB de memória e o nó suportar até 70 pods, o AKS reservará 25% * 4 GB = 1000 MB para kube-reserved, pois isso é menos de 20 MB * 70 Max Pods + 50 MB = 1450 MB.
Para obter mais informações, consulte Configurar pods máximos por nó em um cluster AKS.
- Se a máquina virtual (VM) fornecer 8 GB de memória e o nó suportar até 30 pods, o AKS reservará 20 MB * 30 Max Pods + 50 MB = 650 MB para kube-reserved.
Versões do AKS anteriores à 1.29
kubelet
daemon tem a regra de despejo memory.available < 750 Mi por padrão. Esta regra garante que um nó tenha pelo menos 750 Mi alocáveis em todos os momentos. Quando um host está abaixo desse limite de memória disponível, okubelet
aciona o encerramento de um dos pods em execução e libera memória na máquina host.- Uma taxa regressiva de reservas de memória para o daemon kubelet funcionar corretamente (kube-reserved).
- 25% dos primeiros 4 GB de memória
- 20% dos próximos 4 GB de memória (até 8 GB)
- 10% dos próximos 8 GB de memória (até 16 GB)
- 6% dos próximos 112 GB de memória (até 128 GB)
- 2% de qualquer memória superior a 128 GB
Nota
O AKS reserva 2 GB extras para processos do sistema em nós do Windows que não fazem parte da memória calculada.
As regras de alocação de memória e CPU são projetadas para:
- Mantenha os nós do agente íntegros, incluindo alguns pods do sistema de hospedagem críticos para a integridade do cluster.
- Faça com que o nó relate menos memória e CPU alocáveis do que relataria se não fizesse parte de um cluster Kubernetes.
Por exemplo, se um nó oferece 7 GB, ele relata 34% de memória não alocável, incluindo o limite de remoção de 750 Mi.
0.75 + (0.25*4) + (0.20*3) = 0.75 GB + 1 GB + 0.6 GB = 2.35 GB / 7 GB = 33.57% reserved
Além das reservas para o próprio Kubernetes, o sistema operacional do nó subjacente também reserva uma quantidade de recursos de CPU e memória para manter as funções do sistema operacional.
Para obter as práticas recomendadas associadas, consulte Práticas recomendadas para recursos básicos do agendador no AKS.
Próximos passos
Azure Kubernetes Service