Otimize a sua utilização do GKE com estatísticas e recomendações

Com o Google Kubernetes Engine (GKE), pode receber orientações normativas sobre como otimizar os seus clusters.

O GKE monitoriza os seus clusters e, se existirem potenciais otimizações, as orientações são fornecidas através do Recommender, um serviço que gera estatísticas e recomendações para a utilização de recursos no Trusted Cloud by S3NS. Trusted Cloud by S3NS Para o GKE, os Recommenders fornecem dois tipos de informações:

  • Uma estatística explica que o GKE detetou que a utilização do cluster pode ser otimizada de alguma forma.
  • Uma recomendação explica como otimizar a utilização dos clusters.

O GKE fornece estas informações na Trusted Cloud consola e também as pode encontrar com a CLI Google Cloud e a API Recommender. O GKE fornece recomendações para tópicos, incluindo:

  • Descontinuações: mitigue a exposição a funcionalidades ou APIs do Kubernetes descontinuadas.
  • Operações e conetividade: corrija problemas relacionados com o plano de controlo e a conetividade dos nós, bem como a utilização de endereços IP.
  • Otimização de custos: Implemente configurações e práticas otimizadas em função dos custos. Por exemplo, identifique clusters GKE inativos ou clusters GKE com aprovisionamento excessivo.
  • Escalabilidade: implemente práticas de melhoria da fiabilidade, como aumentar a escala dos clusters do GKE com aprovisionamento insuficiente.
  • Pedidos e limites de recursos: Defina pedidos e limites de recursos para evitar a terminação abrupta de pods sob pressão de recursos do nó e melhorar a precisão da atribuição de custos.
  • Agones: Isole o controlador Agones no seu 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 controlo quando usar webhooks.
  • Proteção de dados: garanta que as cargas de trabalho estão protegidas contra eventos disruptivos.
  • Credenciais do cluster: Rode as credenciais do cluster para evitar interrupções.
  • Canais de lançamento: inscreva clusters num canal de lançamento.
  • Períodos de manutenção: escolha um período recorrente durante o qual ocorre a manutenção do cluster do GKE.
  • Versões suportadas: certifique-se de que os clusters executam uma versão suportada que também cumpre a política de variação de versões do GKE. Para ver detalhes, consulte as secções Atualizações automáticas no final do apoio técnico e Política de variação da versão do GKE na página referenciada.
  • Autorizações da conta de serviço do nó: certifique-se de que as contas de serviço do nó têm as autorizações críticas necessárias para as operações normais do GKE.
  • CRDs: assegure operações de cluster estáveis corrigindo CRDs configurados incorretamente com um pacote de CA inválido.
  • Utilização do etcd: Certifique-se de que a base de dados etcd tem armazenamento suficiente para evitar a instabilidade do cluster.

Antes de começar

Antes de começar, certifique-se de que realizou as seguintes tarefas:

  • Ative a API Google Kubernetes Engine.
  • Ative a API Google Kubernetes Engine
  • Se quiser usar a CLI gcloud para esta tarefa, instale-a e, em seguida, inicialize-a. Se instalou anteriormente a CLI gcloud, execute gcloud components update para obter a versão mais recente.

Funções necessárias

Certifique-se de que tem as autorizações necessárias para as estatísticas e as recomendações do Kubernetes, com as seguintes funções básicas ou funções predefinidas:

Veja estatísticas e recomendações

Pode ver estatísticas e recomendações com a CLI gcloud, na Trusted Cloud consola ou com a API Recommender.

Consola

Quando vê recomendações na consola, tem duas opções. Pode usar a tabela de dados de nível superior na parte superior da vista para ver os resultados agregados das recomendações de estado, atualização e otimização de custos em todos os clusters no seu projeto.

Em alternativa, pode ver uma lista de recomendações por cluster.

Para ver recomendações através da tabela de dados, siga estes passos:

  1. Aceda à página do Google Kubernetes Engine na Trusted Cloud consola:

    Aceda ao Google Kubernetes Engine

  2. Para ver o número de grupos afetados por recomendações individuais, clique em Ver recomendações na categoria que quer ver: Saúde, Atualização ou Custo. No painel da barra lateral revelado, uma lista de recomendações indica quantos grupos são afetados por cada recomendação.

  3. Para ver mais informações, incluindo os nomes dos clusters afetados, clique no nome da recomendação.

  4. Para ver mais detalhes de cada cluster afetado, clique novamente na recomendação.

Para ver recomendações por cluster, siga estes passos:

  1. Aceda à página do Google Kubernetes Engine na Trusted Cloud consola:

    Aceda ao Google Kubernetes Engine

  2. Consulte a coluna Notificações para ver clusters específicos e encontrar estatísticas e recomendações.

  3. Para revelar mais informações, clique na estatística. No painel da barra lateral apresentado, pode ver detalhes sobre esta estatística, incluindo qualquer recomendação associada.

gcloud

Normalmente, uma estatística tem uma recomendação correspondente. As estatísticas são obtidas com gcloud recommender insights e as recomendações são obtidas com gcloud recommender recommendations.

  1. Veja a lista de estatísticas para os 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 o seguinte:

    • PROJECT_ID: o Trusted Cloud by S3NS ID do projeto para o projeto onde os clusters estão localizados.
    • LOCATION: a região ou a zona exata do cluster. Para clusters zonais, tem de indicar a zona exata (por exemplo, us-central1-c). Para clusters regionais, tem de indicar a região exata (por exemplo, us-central1).
    • FORMAT: altere o formato de saída para YAML. Esta flag é opcional.
    • SUBTYPE: um subtipo de estatísticas>, por exemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Isto limita a saída a estatísticas de um subtipo especificado. Esta flag é opcional.

    Em alternativa, se já tiver um ID de estatística, pode ver detalhes sobre a estatística executando o seguinte comando:

    gcloud recommender insights describe INSIGHT \
        --insight-type=google.container.DiagnosisInsight \
        --location=LOCATION \
        --project=PROJECT_ID \
        --format=FORMAT
    

    Substitua INSIGHT pelo valor do ID das estatísticas, especificado no final do URL do campo name para as estatísticas.

    associatedRecommendations.recommendation

    O resultado inclui detalhes adicionais sobre o comportamento que o GKE detetou com o seu cluster.

  2. Veja a lista de recomendações para os clusters 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 SUBTYPE por um subtipo de recomendador, por exemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Isto limita a saída a recomendações de um subtipo especificado. Esta flag é opcional.

    Em alternativa, se já tiver um ID da recomendação, pode ver 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_ID pelo valor guardado de associatedRecommendations.recommendation a partir do resultado do comando no passo 1.

    O resultado fornece orientações sobre as ações que pode ter de tomar para otimizar a utilização do GKE pelo cluster.

API

Cada estatística tem uma recomendação correspondente. As estatísticas são obtidas com o recurso REST: projects.locations.insightTypes.insights e as recomendações são obtidas com o recurso REST: projects.locations.recommenders.recommendations.

  1. Veja a lista de estatísticas para os 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 o seguinte:

    • PROJECT_ID: o Trusted Cloud by S3NS ID do projeto para o projeto onde os clusters estão localizados.
    • LOCATION: a região ou a zona exata do cluster. Para clusters zonais, tem de indicar a zona exata (por exemplo, us-central1-c). Para clusters regionais, tem de indicar a região exata (por exemplo, us-central1).
    • SUBTYPE: um subtipo de estatísticas>, por exemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Isto limita a saída a estatísticas de um subtipo especificado. Esta flag é opcional.

    Em alternativa, se já tiver um ID de estatística, pode ver detalhes sobre a estatística fazendo o seguinte pedido:

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.container.DiagnosisInsight/insights/INSIGHT
    

    Substitua INSIGHT pelo valor do ID das estatísticas, especificado no final do URL do campo name para as estatísticas.

    associatedRecommendations.recommendation

    O corpo da resposta inclui detalhes sobre o comportamento que o GKE detetou no seu cluster.

  2. Veja a lista de recomendações para os 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/recommenders/google.container.DiagnosisRecommender/recommendations?filter=recommenderSubtype%20%3D%20SUBTYPE
    

    Substitua SUBTYPE por um subtipo de recomendador, por exemplo, DEPRECATION_K8S_1_23_CERTIFICATE. Isto limita a saída a recomendações de um subtipo especificado. Esta flag é opcional.

    Em alternativa, se já tiver um ID da recomendação, pode ver a recomendação fazendo o seguinte pedido:

    GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.container.DiagnosisRecommender/recommendations/RECOMMENDATION_ID
    

    Substitua RECOMMENDATION_ID pelo valor guardado de associatedRecommendations.recommendation do corpo da resposta no passo 1.

    O corpo da resposta fornece orientações sobre as ações que pode ter de realizar para otimizar a utilização do GKE do seu cluster.

Exporte estatísticas e recomendações para o BigQuery

Pode usar o BigQuery para exportar e analisar estatísticas e recomendações para toda a sua organização. Para saber mais, consulte o artigo Exporte recomendações para o BigQuery.

Ignore ou restaure recomendações

Se não quiser ver uma recomendação para um cluster na Trusted Cloud consola, ignore-a. Pode fazê-lo, por exemplo, se tiver avaliado a recomendação e decidido não a implementar.

Se ignorar a recomendação, esta não é apresentada a nenhum utilizador que veja o cluster na consola. Depois de ignorar a recomendação, esta não volta a aparecer, mesmo que o GKE detete o mesmo comportamento.

Quando ignora uma recomendação, apenas a oculta para todos os utilizadores na consola. A recomendação continua a ser detetável com a CLI Google Cloud e a API Recommender.

Ignore uma recomendação

Para ignorar a recomendação, siga as instruções para Ver estatísticas e recomendações na Trusted Cloud consola para abrir o painel da barra lateral, que tem mais detalhes. Nesse painel, clique no botão Ignorar.

Restaure uma recomendação ignorada

Pode restaurar uma recomendação ignorada seguindo as instruções para restaurar uma recomendação.

O que se segue?