O pod de eliminação do GKE quando a ferramenta de monitoramento ainda mostra que temos memória

O pod de eliminação do GKE quando a ferramenta de monitoramento ainda mostra que temos memória

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? 6,36 GB de memória alocável

Pod morto ao usar 4,19 GB

Responder1

Neste caso tudo funcionando conforme o esperado. Acho que você perdeu informações sobre Eviction threshold.

Allocatableé o valor de Capacitymenos Reservede Eviction Threshold.

Na GKEdocumentaçã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 GKEcomponentes do nó Kubernetes necessários para fazer esse nó funcionar como parte do seu cluster. 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 os allocatablerecursos do nó no GKE. À medida que tipos de máquinas maiores tendem a executar mais containers(e, por extensão, mais pods), a quantidade de recursos GKEreservados para Kubernetes componentsmáquinas maiores aumenta. Windows Server nodestambém exigem more resourcesdo que um típico Linux 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

informação relacionada