Esta página mostra como determinar a quantidade de CPU e memória disponível num nó para executar as suas cargas de trabalho no Google Distributed Cloud.
Recursos reservados
Em cada nó do cluster, o Google Distributed Cloud reserva os seguintes recursos para componentes do sistema operativo e componentes principais do Kubernetes:
- 80 milinúcleos + 1% da capacidade da CPU
- 330 MiB + 5% da capacidade de memória
Por exemplo, suponhamos que um nó tem a capacidade predefinida de 4 núcleos de CPU e 8 GiB de memória. Em seguida, o Google Distributed Cloud reserva:
- 80 milicores + 1% de 4 núcleos = 120 milicores
- 330 MiB + 5% de 8 GiB = 730 MiB
O sistema operativo e os componentes principais do Kubernetes não são executados como pods, mas sim como processos comuns. Os recursos restantes, além destes recursos reservados, estão disponíveis para os pods.
Limite de despejo
Para determinar a quantidade de memória disponível para os agrupamentos, também tem de considerar o limite de despejo.
O Google Distributed Cloud define um limite de despejo de 100 MiB. Isto significa que, se a memória disponível num nó for inferior a 100 MiB, o kubelet
pode
expulsar um ou mais pods.
Recursos atribuíveis
Os recursos num nó que estão disponíveis para Pods são denominados recursos atribuíveis. Calcule os recursos atribuíveis da seguinte forma:
Allocatable CPU = CPU Capacity - Reserved CPU
Allocatable Memory = Memory Capacity - Reserved Memory - Eviction Threshold
Por exemplo, suponhamos que um nó tem 8 GiB de capacidade de memória, 680 MiB de memória reservada e um limite de despejo de 100 MiB. Então, a memória atribuível é:
8 GiB - 680 MiB - 100 MiB = 7220 MiB
Recursos disponíveis para as suas cargas de trabalho
Os recursos atribuíveis de um nó são os recursos disponíveis para os pods. Isto inclui os pods que executam as suas cargas de trabalho e os pods que executam os suplementos do Google Distributed Cloud. Os suplementos incluem o controlador de entrada, o serviço de entrada, o agente Connect, os componentes de rede, os componentes de registo e muito mais.
Num determinado nó, para determinar os recursos disponíveis para as suas cargas de trabalho, comece pelos recursos atribuíveis e, em seguida, subtraia os recursos usados pelos suplementos.
O desafio é que os suplementos não são distribuídos uniformemente entre os nós de um cluster do Google Distributed Cloud. Um nó pode ter três suplementos e outro nó pode ter dez suplementos. Além disso, os vários suplementos requerem diferentes quantidades de CPU e memória.
Regra geral, pode considerar que os suplementos executados num nó requerem:
- 200 milinúcleos de CPU
- 100 MiB de memória
Agora, pode calcular os recursos disponíveis num nó para as suas cargas de trabalho da seguinte forma:
Allocatable CPU - 200 millicores
Allocatable memory - 100 MiB
Determinados nós requerem mais recursos para suplementos do que o indicado na regra geral anterior. Por exemplo, um nó pode executar um suplemento do Prometheus que requer 2 GiB de memória. No entanto, se o cluster tiver mais do que alguns nós, é razoável assumir que a regra geral se aplica à maioria dos nós.
O que se segue?
Para saber mais acerca do conceito de recursos atribuíveis, consulte o artigo Recursos atribuíveis na documentação do GKE on Google Cloud.