Esta é a documentação de uma versão anterior do Anthos GKE On-Prem. Veja a documentação mais recente.

Recursos disponíveis para suas cargas de trabalho

Nesta página, mostramos como determinar a quantidade de CPU e memória disponíveis em um nó para executar as cargas de trabalho.

Recursos reservados

Em cada nó de cluster, o GKE On-Prem reserva os seguintes recursos para componentes do sistema operacional e componentes principais do Kubernetes:

  • 80 milicores + 1% da capacidade da CPU
  • 280 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. Em seguida, o GKE On-Prem reserva:

  • 80 milicores + 1% de 4 núcleos = 120 milicores
  • 280 MiB + 5% de 8 GiB = 680 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 GKE On-Prem 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. Isso inclui os pods que executam suas cargas de trabalho e os pods que executam complementos do GKE On-Prem. 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 registro 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 de maneira uniforme entre os nós de um cluster do GKE On-Prem. Um nó pode ter 3 complementos, e outro pode ter 10 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 GiB 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.