Recursos disponíveis para as suas cargas de trabalho

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.