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 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 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 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.