Com o Google Kubernetes Engine (GKE), você recebe orientações prescritivas sobre como otimizar os clusters.
O GKE monitora seus clusters e, se houver possíveis otimizações, a orientação será fornecida por meio do Recomendador, um Google Cloud serviço que gera insights e recomendações para usar recursos no Google Cloud. Para o GKE, os recomendadores fornecem dois tipos de informações:
- Um insight explica que o GKE detectou que é possível otimizar o uso do cluster de alguma forma.
- Uma recomendação explica como otimizar o uso do cluster.
O GKE fornece essas informações no console Google Cloud , e também é possível encontrá-las com a Google Cloud CLI e a API Recommender. O GKE fornece Recomendadores para tópicos como:
- Descontinuações: reduza a exposição a recursos ou APIs obsoletos do Kubernetes.
- Operações e conectividade: corrija problemas relacionados ao plano de controle, à conectividade do nó e à utilização do endereço IP.
- Otimização de custos: implemente configurações e práticas otimizadas para custos. Por exemplo, identifique clusters inativos do GKE ou clusters do GKE com provisionamento excessivo.
- Escalonabilidade: implemente práticas de melhoria da confiabilidade, como escalonar clusters do GKE com provisionamento insuficiente.
- Solicitações e limites de recursos: defina solicitações e limites de recursos para evitar o encerramento abrupto do pod sob pressão de recursos do nó e melhore a precisão da alocação de custos.
- Agones: Isole o controlador do Agones no cluster.
- Interrupções: garanta a continuidade e a capacidade de recuperação das cargas de trabalho durante a manutenção.
- Webhooks:garanta a estabilidade do plano de controle ao usar webhooks.
- Proteção de dados: garanta a proteção das cargas de trabalho contra eventos que causam interrupções.
- Credenciais do cluster:alterne as credenciais do cluster para evitar interrupções.
- Canais de lançamento:registre clusters em um canal de lançamento.
- Janelas de manutenção:escolha uma janela de tempo recorrente em que a manutenção do cluster do GKE ocorre.
- Versões compatíveis:verifique se os clusters executam uma versão compatível que também segue a política de desvio de versão do GKE. Para mais detalhes, consulte as seções Upgrades automáticos no fim do suporte e Política de distorção de versão do GKE na página referenciada.
- Permissões da conta de serviço do nó:verifique se as contas de serviço do nó têm as permissões críticas necessárias para operações normais do GKE.
- CRDs: garanta operações de cluster estáveis corrigindo CRDs mal configurados com um pacote de CA inválido.
- Uso do etcd:verifique se o banco de dados etcd tem armazenamento suficiente para evitar instabilidade no cluster.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Ativar a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Se você quiser usar a CLI do Google Cloud para essa tarefa,
    instale e inicialize a
    gcloud CLI. Se você instalou a CLI gcloud anteriormente, instale a versão
    mais recente executando o comando gcloud components update. Talvez as versões anteriores da CLI gcloud não sejam compatíveis com a execução dos comandos neste documento.
Funções exigidas
Verifique se você tem as permissões necessárias para gerar insights e recomendações de suspensão de uso do Kubernetes, com os seguintes papéis básicos ou predefinidos:
- Veja insights e recomendações com uma das seguintes funções: 
- Ver e atualizar o estado dos insights e recomendações (por exemplo, dispensar uma recomendação): 
Ver insights e recomendações
É possível visualizar insights e recomendações com a Google Cloud CLI, no console doGoogle Cloud ou com a API Recommender.
Console
Ao conferir as recomendações no console, você tem duas opções. Use a visão geral de alto nível na parte de cima da visualização para conferir os resultados agregados das recomendações de integridade, upgrade e otimização de custos em todos os clusters do seu projeto.
Ou você pode conferir uma lista de recomendações por cluster.
Para ver recomendações usando o quadro de pontuação, siga estas etapas:
- Acesse a página do Google Kubernetes Engine no Google Cloud console: 
- Para conferir o número de clusters afetados por recomendações individuais, clique em Ver recomendações na categoria desejada: "Saúde", "Upgrade" ou "Custo". No painel da barra lateral, uma lista de recomendações indica quantos clusters são afetados por cada uma delas. 
- Para ver mais informações, incluindo os nomes dos clusters afetados, clique no nome da recomendação. 
- Para ver mais detalhes de cada cluster afetado, clique na recomendação de novo. 
Para conferir as recomendações por cluster, siga estas etapas:
- Acesse a página do Google Kubernetes Engine no Google Cloud console: 
- Verifique a coluna Notificações para clusters específicos e encontre insights e recomendações. 
- Para ver mais informações, clique no insight. No painel da barra lateral revelada, é possível ver detalhes sobre esse insight, incluindo qualquer recomendação associada. 
gcloud
Um insight geralmente tem uma recomendação correspondente. Os insights são
buscados com gcloud recommender insights,
e as recomendações são coletadas com gcloud recommender recommendations.
- Veja a lista de insights dos clusters de uma zona específica (para clusters zonais) ou uma região específica (para clusters regionais): - gcloud recommender insights list \ --insight-type=google.container.DiagnosisInsight \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT \ --filter="insightSubtype:SUBTYPE"- Substitua: - PROJECT_ID: o Google Cloud ID do projeto do projeto em que os clusters estão localizados.
- LOCATION: a região ou zona exata do cluster. Para clusters zonais, é preciso fornecer a zona exata (por exemplo,- us-central1-c). Para clusters regionais, você precisa fornecer a região exata (por exemplo,- us-central1).
- FORMAT: altere o formato de saída para YAML. Essa flag é opcional.
- SUBTYPE: um subtipo de insight, por exemplo,- DEPRECATION_K8S_1_23_CERTIFICATE. Isso limita a saída a insights de um subtipo especificado. Essa flag é opcional.
 - Ou, se você já tiver um ID de insight, é possível ver detalhes sobre o insight executando o seguinte comando: - gcloud recommender insights describe INSIGHT \ --insight-type=google.container.DiagnosisInsight \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT- Substitua - INSIGHTpelo valor do ID do insight, especificado no fim do URL do campo- name.- A saída inclui outros detalhes sobre o comportamento detectado pelo GKE no cluster. 
- Confira a lista de recomendações para o cluster de uma zona específica (para clusters zonais) ou uma região específica (para clusters regionais): - gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT \ --filter="recommenderSubtype:SUBTYPE"- Substitua - SUBTYPEpor um subtipo de recomendador, por exemplo,- DEPRECATION_K8S_1_23_CERTIFICATE. Isso limita a saída a recomendações de um subtipo especificado. Essa flag é opcional.- Ou, se você já tiver um ID de recomendação, visualize a recomendação executando o seguinte comando: - gcloud recommender recommendations describe RECOMMENDATION_ID \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=FORMAT- Substitua - RECOMMENDATION_IDpelo valor salvo de- associatedRecommendations.recommendationda saída do comando na Etapa 1.- A saída fornece orientações sobre qual ação pode ser necessária para otimizar o uso do GKE do cluster. 
API
Cada insight tem uma recomendação correspondente. Os insights são buscados com o recurso REST: projects.locations.insightTypes.insights, e as recomendações são buscadas com o recurso REST: projects.locations.recommenders.recommendations.
- Veja a lista de insights dos clusters de uma zona específica (para clusters zonais) ou uma região específica (para clusters regionais): - GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights?filter=insightSubtype%20%3D%20SUBTYPE- Substitua: - PROJECT_ID: o Google Cloud ID do projeto do projeto em que os clusters estão localizados.
- LOCATION: a região ou zona exata do cluster. Para clusters zonais, é preciso fornecer a zona exata (por exemplo,- us-central1-c). Para clusters regionais, você precisa fornecer a região exata (por exemplo,- us-central1).
- SUBTYPE: um subtipo de insight, por exemplo,- DEPRECATION_K8S_1_23_CERTIFICATE. Isso limita a saída a insights de um subtipo especificado. Essa flag é opcional.
 - Ou, se você já tiver um ID de insight, é possível consultar detalhes sobre o insight realizando a seguinte solicitação: - GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights/INSIGHT- Substitua - INSIGHTpelo valor do ID do insight, especificado no fim do URL do campo- name.- O corpo da resposta inclui detalhes sobre o comportamento que o GKE detectou com o cluster. 
- Confira a lista de recomendações para o cluster de uma zona específica (para clusters zonais) ou uma região específica (para clusters regionais): - GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations?filter=recommenderSubtype%20%3D%20SUBTYPE- Substitua - SUBTYPEpor um subtipo de recomendador, por exemplo,- DEPRECATION_K8S_1_23_CERTIFICATE. Isso limita a saída a recomendações de um subtipo especificado. Essa flag é opcional.- Ou então, se você já tiver um ID de recomendação, é possível visualizar a recomendação fazendo a seguinte solicitação: - GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations/RECOMMENDATION_ID- Substitua - RECOMMENDATION_IDpelo valor salvo de- associatedRecommendations.recommendationdo corpo da resposta na Etapa 1.- O corpo da resposta fornece orientações sobre qual ação pode ser necessária para otimizar o uso do GKE do cluster. 
Exportar insights e recomendações para o BigQuery
É possível usar o BigQuery para exportar e analisar insights de descontinuação e recomendações para toda a organização. Para saber mais, consulte Exportar recomendações para o BigQuery.
Dispensar ou restaurar recomendações
Se você não quiser mais ver uma recomendação de descontinuação de um cluster no Google Cloud console, dispense-a. Você pode fazer isso, por exemplo, se avaliou a recomendação e decidiu não implementá-la.
Se você dispensar a recomendação, ela não aparecerá para nenhum usuário que estiver visualizando o cluster no console. Depois de dispensar a recomendação, ela não aparecerá novamente, mesmo que o GKE detecte o mesmo comportamento.
Ao dispensar uma recomendação, ela só será ocultada para todos os usuários no console. No entanto, a recomendação permanece detectável com a Google Cloud CLI e a API Recommender.
Dispensar uma recomendação
Para dispensar a recomendação, siga as instruções em Como visualizar insights e recomendações no console doGoogle Cloud para abrir o painel da barra lateral, que tem mais detalhes. Nesse painel, clique no botão Dispensar.
Restaurar uma recomendação dispensada
É possível restaurar uma recomendação dispensada seguindo as instruções em Como restaurar uma recomendação.
A seguir
- Saiba mais sobre recomendadores