Estou testando o GKE com seus gráficos de monitoramento padrão.
O resumo do cluster diz que cada nó (n2-custom-4-8192) tem 6,36 GB de memória alocável.
Na página de detalhes do nó, posso ver que o pico "Usado" é 4,19 quando o pod é eliminado.
Estou faltando alguma coisa? Ou isso é um problema com o gráfico?
Responder1
Neste caso tudo funcionando conforme o esperado. Acho que você perdeu informações sobre Eviction threshold
.
Allocatable
é o valor de Capacity
menos Reserved
e Eviction Threshold
.
Na GKE
documentaçãoRecursos alocáveis de nóvocê pode encontrar informações sobre a alocação de recursos.
Alguns dos recursos de um nó são necessários para executar os
GKE
componentes do nó Kubernetes necessários para fazer esse nó funcionar como parte do seucluster
. Dessa forma, você poderá notar uma disparidade entre os recursos totais do seu nó (conforme especificado na documentação do tipo de máquina) e osallocatable
recursos do nó noGKE
. À medida que tipos de máquinas maiores tendem a executar maiscontainers
(e, por extensão, mais pods), a quantidade de recursosGKE
reservados paraKubernetes components
máquinas maiores aumenta.Windows Server nodes
também exigemmore resources
do que um típicoLinux node
. Os nós precisam de recursos extras para dar conta da execução do sistema operacional Windows e dos componentes do Windows Server que não podem ser executados em contêineres.
Para inspecionar os recursos alocáveis de nó disponíveis em um cluster, execute o seguinte comando:
$ kubectl describe node ${NodeName} | grep Allocatable -B 7 -A 6
A saída retornada contém campos Capacidade e Alocável com medidas para armazenamento efêmero, memória e CPU.
Se você rolar um pouco mais para baixo paraMemória alocável e recursos de CPUvocê lerá que os recursos alocáveis são calculados da seguinte maneira:
Allocatable = Capacity - Reserved - Eviction Threshold
Para recursos de memória, o GKE reserva o seguinte:
- 255 MiB de memória para máquinas com menos de 1 GB de memória
- 25% dos primeiros 4 GB de memória
- 20% dos próximos 4 GB de memória (até 8 GB)
- 10% dos próximos 8 GB de memória (até 16 GB)
- 6% dos próximos 112 GB de memória (até 128 GB)
- 2% de qualquer memória acima de 128 GB