O Google Kubernetes Engine (GKE) oferece insights e recomendações para cenários de otimização de custos, como clusters superprovisionados e inativos, e cenários de melhoria da confiabilidade, como clusters subprovisionados. Neste documento, explicamos como identificar clusters do GKE com provisionamento insuficiente e excessivo. O GKE oferece recomendações correspondentes para escalonar verticalmente ou reduzir escala vertical a escala dos clusters. O GKE também oferece recomendações semelhantes de ajuste de tamanho para cargas de trabalho. Para mais informações, consulte Identificar cargas de trabalho com provisionamento insuficiente e excessivo.
Depois de verificar se os clusters identificados se beneficiariam da recomendação de escalonar verticalmente ou horizontal, faça a mudança recomendada para economizar custos ou aumentar a confiabilidade do cluster. Se possível, a recomendação inclui a economia ou o custo mensal projetado. Para mais informações, consulte Entender as estimativas de custo ou economia.
O GKE não fornece esses insights para clusters do Autopilot, que geram custos operacionais mínimos porque você paga apenas pelos recursos solicitados pelas cargas de trabalho. Para mais informações, consulte Preços do Autopilot.
O GKE monitora seus clusters e fornece orientações para otimizar o uso com o Active Assist, um serviço que oferece recomendações que geram insights e recomendações para usar recursos no Google Cloud. Para mais informações sobre como gerenciar insights e recomendações, consulte Otimizar o uso do GKE com insights e recomendações.
Receber insights e recomendações para clusters subprovisionados e superprovisionados
O GKE mostra esses insights e recomendações nos seguintes locais do console Google Cloud depois de observar o comportamento específico discutido na seção a seguir:
Página Clusters do Kubernetes, nos seguintes locais:
- Na lista Clusters do Kubernetes, na coluna Notificações dos clusters aplicáveis
- Banners de notificação na página Clusters de um cluster específico
As recomendações têm os seguintes títulos na página Clusters do Kubernetes:
- Clusters com provisionamento excessivo: "Diminua os recursos do cluster para reduzir custos"
- Clusters com provisionamento insuficiente: "Aumente os recursos do cluster para melhorar a confiabilidade"
Também é possível receber esses insights e recomendações pela CLI do Google Cloud ou pela API Recommender, usando os subtipos CLUSTER_UNDERPROVISIONED e CLUSTER_OVERPROVISIONED.
Siga as instruções para ver insights e recomendações.
Depois de identificar clusters subprovisionados ou provisionados em excesso, consulte as considerações ao dimensionar corretamente os clusters.
Como o GKE identifica clusters subprovisionados e superprovisionados
A tabela a seguir descreve os sinais que o GKE usa para identificar clusters subprovisionados e superprovisionados que podem ser escalonados verticalmente ou reduzidos, além do limite de cada sinal. Além disso, essa tabela mostra a ação recomendada para esse cenário.
| Subtipo | Sinal | Período de observação | Detalhes | Recomendação |
|---|---|---|---|---|
CLUSTER_UNDERPROVISIONED |
O uso da CPU ou da memória está alto | Últimos 30 dias | Um cluster do GKE está com provisionamento insuficiente quando a utilização média de CPU e memória é superior a 80% em todas as horas dos últimos 30 dias. | Escalonar verticalmente o cluster para aumentar a confiabilidade |
CLUSTER_OVERPROVISIONED |
O uso de CPU e uso da memória está baixo | Últimos 30 dias | Um cluster do GKE é superprovisionado quando a utilização média de CPU e memória fica entre 7% e 20% a cada hora, nos últimos 30 dias. | Reduzir escala vertical do cluster para economizar custos |
O GKE não envia recomendações para clusters criados há menos de 30 dias.
Entender as estimativas de custo ou economia
Se possível, a recomendação do GKE inclui uma estimativa que projeta o custo ou a economia mensal se você redimensionar o cluster. Essa estimativa é derivada dos custos do cluster nos últimos 30 dias.
Os custos ou economias estimados são projeções baseadas em gastos anteriores e não são uma garantia de custos ou economias futuros.
Para conferir essas estimativas, verifique se você tem a permissão billing.accounts.getSpendingInformation necessária para acessar informações de gastos. Para mais informações, consulte Acesso ao Cloud Billing.
Para mais informações sobre o custo de todos os seus clusters do GKE, incluindo um detalhamento mais granular com base em namespaces e cargas de trabalho, consulte Receber informações importantes sobre gastos para sua alocação de recursos e custos de cluster do GKE.
Para mais informações sobre os custos de execução de um cluster do GKE, consulte Preços do GKE.
Considerações ao ajustar o tamanho dos clusters
Antes de seguir uma recomendação para escalonar verticalmente ou reduzir a escala de um cluster, considere o seguinte:
- Analise a utilização de recursos dos aplicativos em execução no cluster para ver o desempenho deles e se estão usando mais ou menos CPU e memória do que o esperado. Para instruções, consulte Analisar solicitações de recursos.
- As cargas de trabalho de processamento em lote podem manter intencionalmente a alta utilização dos recursos do cluster para eficiência de custos. Se os recursos alocados do cluster forem suficientes para os jobs em lote em execução nele, não será necessário escalonar verticalmente o cluster altamente utilizado, que foi identificado como subprovisionado.
Implementar a recomendação para redimensionar um cluster
Leia o seguinte para entender como ajustar o tamanho de um cluster e melhorar a utilização de recursos.
Redimensionar um cluster com provisionamento insuficiente
Para implementar a recomendação de minimizar o risco de confiabilidade ao ajustar um cluster com poucos recursos, aumente os recursos no cluster. Para isso, faça algumas das seguintes ações:
- Ative o escalonador automático de cluster e o provisionamento automático de nós ou ajuste as configurações para permitir um escalonamento vertical maior.
- Escalonar verticalmente horizontalmente o cluster aumentando o número de nós. Siga as instruções para escalonar horizontalmente mudando a contagem de nós.
- Escolha um tipo de máquina maior para seus pools de nós. Siga as instruções para escalonar verticalmente alterando os atributos da máquina do nó.
- Monitore e analise o uso de recursos de CPU e memória dos aplicativos que são executados no cluster. Verifique se é possível reduzir escala vertical dos aplicativos. Para instruções sobre como monitorar o uso de recursos, consulte Analisar solicitações de recursos.
Ao implementar essa recomendação, você garante que seu cluster permaneça confiável porque tem a quantidade adequada de recursos para os aplicativos.
Redimensionar um cluster provisionado em excesso
Para implementar a recomendação de economizar custos redimensionando um cluster superprovisionado, diminua os recursos no cluster. Ajuste as alocações de CPU e memória do cluster para atender às necessidades da carga de trabalho. Para isso, siga algumas destas etapas:
- Ajuste o escalonador automático de clusters e o provisionamento automático de nós para reduzir escala vertical de recursos subutilizados de forma mais agressiva.
- Reduzir escala vertical horizontalmente o cluster diminuindo o número de nós. Siga as instruções para escalonar horizontalmente mudando a contagem de nós.
- Escolha um tipo de máquina menor para seus pools de nós. Siga as instruções para escalonar verticalmente alterando os atributos da máquina do nó.
- Monitore e analise o uso de recursos de CPU e memória dos aplicativos que são executados no cluster. Verifique se é possível escalonar verticalmente os aplicativos. Para instruções sobre como monitorar o uso de recursos, consulte Analisar solicitações de recursos.
Ao implementar essa recomendação, você garante que não está usando mais recursos do que o necessário para executar os aplicativos do cluster.
A seguir
- Ver métricas de otimização relacionadas ao custo
- Como reduzir custos diminuindo os clusters do GKE fora do horário de pico
- Otimize o uso do GKE com insights e recomendações
- Práticas recomendadas para executar aplicativos econômicos do Kubernetes no GKE
- 5 recursos do GKE para ajudar você a otimizar seus clusters