Esta página mostra como determinar a quantidade de CPU e memória disponíveis em um nó para executar cargas de trabalho no Google Distributed Cloud.
Recursos reservados
Em cada nó de cluster, o Google Distributed Cloud reserva os seguintes de componentes do sistema operacional e dos principais componentes do Kubernetes:
- 80 milicores + 1% da capacidade da CPU
- 330 MiB + 5% da capacidade da memória
Por exemplo, suponha que um nó tenha a capacidade padrão de 4 núcleos de CPU e 8 GiB de memória. O Google Distributed Cloud reserva:
- 80 milicores + 1% de 4 núcleos = 120 milicores
- 330 MiB + 5% de 8 GiB = 730 MiB
O sistema operacional e os componentes principais do Kubernetes não são executados como pods, mas como processos comuns. Os recursos que permanecem, além desses recursos reservados, estão disponíveis para os pods.
Limite de remoção
Para determinar a quantidade de memória disponível para pods, considere também o limite de remoção.
O Google Distributed Cloud define um limite de remoção de 100 MiB. Isso significa
que, se a memória disponível em um nó ficar abaixo de 100 MiB, o kubelet
poderá
remover um ou mais pods.
Recursos alocáveis
Os recursos em um nó disponíveis para pods são chamados de recursos alocáveis. Calcule os recursos alocáveis da seguinte maneira:
Allocatable CPU = CPU Capacity - Reserved CPU
Allocatable Memory = Memory Capacity - Reserved Memory - Eviction Threshold
Por exemplo, suponha que um nó tenha 8 GiB de capacidade de memória, 680 MiB de memória reservada e um limite de remoção de 100 MiB. A memória alocável é:
8 GiB - 680 MiB - 100 MiB = 7220 MiB
Recursos disponíveis para suas cargas de trabalho
Os recursos alocáveis de um nó são os recursos disponíveis para pods. Esta inclui os pods que executam suas cargas de trabalho e os pods que executam complementos do Google Distributed Cloud. Os complementos incluem o controlador de entrada, o serviço de entrada, o agente do Connect, os componentes de rede, os componentes de geração de registros e muito mais.
Em um determinado nó, para especificar os recursos disponíveis para suas cargas de trabalho, comece com os recursos alocáveis e subtraia os recursos usados pelos complementos.
O desafio é que os complementos não são distribuídos uniformemente entre os nós de um cluster do Google Distributed Cloud. Um nó pode ter três complementos, e outro pode ter dez complementos. Além disso, os vários complementos exigem diferentes quantidades de CPU e memória.
Como regra geral, é possível descobrir que os complementos executados em um nó exigem:
- 200 milicores de CPU
- 100 MiB de memória
Agora é possível calcular os recursos disponíveis em um nó para suas cargas de trabalho da seguinte maneira:
Allocatable CPU - 200 millicores
Allocatable memory - 100 MiB
Determinados nós exigem mais recursos para complementos do que indicados pela regra geral anterior. Por exemplo, um nó pode executar um complemento do Prometheus que requer 2 GiB de memória. No entanto, se o cluster tiver mais do que alguns nós, é razoável presumir que a regra geral se aplica à maioria dos nós.
A seguir
Para saber mais sobre o conceito de recursos alocáveis, consulte Recursos alocáveis na documentação do GKE no Google Cloud.