Como configurar operações do Cloud para o GKE

O Google Kubernetes Engine (GKE) inclui a integração com o Cloud Monitoring e o Cloud Logging. Essa integração permite monitorar os clusters do GKE em execução, gerenciar o sistema e depurar registros, além de analisar o desempenho do sistema usando recursos avançados de criação de perfil e traces. Essa integração também oferece um painel sofisticado do GKE para observar seus clusters.

Esta página explica como fazer o seguinte:

  • Criar um novo cluster e configurar o Cloud Operations para GKE.

  • Selecione se quer coletar os registros do aplicativo ou não.

  • Desativar o Cloud Monitoring e o Cloud Logging para um cluster.

Antes de começar

  • Certifique-se de que você é um proprietário do projeto que contém o cluster.

  • Verifique se você ativou a API Cloud Logging.

Registros disponíveis

Você tem a opção de enviar ou não os registros do cluster do GKE para o Cloud Logging. Se você optar por enviar registros ao Cloud Logging, será necessário enviar registros do sistema e, opcionalmente, enviar registros de outras fontes.

Saiba mais sobre os preços do Cloud Logging, incluindo práticas recomendadas e ferramentas para otimizar o custo de geração de registros.

A tabela a seguir indica os valores compatíveis com a sinalização --logging para os comandos criar e atualizar.

Origem do registro Ativado por padrão ao criar um cluster? valor --logging Registros coletados
Nenhum Não NONE Nenhum registro enviado ao Cloud Logging, nenhum agente de coleta de registros instalado no cluster. Esse valor não é compatível com clusters do Autopilot do GKE.
System Sim SYSTEM Coleta registros dos seguintes itens:
  • Todos os pods em execução nos namespaces kube-system, istio-system, knative-serving, gke-system e config-management-system.
  • Os principais serviços não conteinerizados, incluindo ambiente de execução docker/containerd, kubelet, kubelet-monitor, node-problem-detector e kube-container-runtime-monitor.
  • A saída das portas seriais do nó, se os metadados da instância de VM serial-port-logging-enable estiverem definidos como verdadeiro.
Carga de trabalho Sim WORKLOAD Todos os registros gerados por contêineres que não são do sistema em execução nos nós do usuário.

Métricas disponíveis

Você tem a opção de enviar ou não métricas do seu cluster do GKE para o Cloud Monitoring. Se você optar por enviar métricas ao Cloud Monitoring, será necessário enviar métricas do sistema e, opcionalmente, enviar métricas adicionais.

Saiba mais sobre os preços do Cloud Monitoring, incluindo a lista de métricas que não são cobradas.

A tabela a seguir indica os valores compatíveis com a sinalização --monitoring para os comandos criar e atualizar.

Origem Ativado por padrão ao criar um cluster? valor --monitoring Métricas coletadas
Nenhum Não NONE Nenhuma métrica enviada ao Cloud Monitoring, nenhum agente de coleta de métricas instalado no cluster Esse valor não é compatível com clusters do Autopilot do GKE.
Sistema Sim SYSTEM Métricas de componentes essenciais do sistema necessárias para a funcionalidade do Kubernetes. Veja uma lista completa dessas métricas do Kubernetes.
Carga de trabalho Não WORKLOAD Ative um pipeline totalmente gerenciado capaz de coletar métricas no estilo Prometheus expostas por qualquer carga de trabalho do GKE. É necessário configurar as métricas a serem coletadas implantando um recurso personalizado do PodMonitor.

Como configurar o suporte de monitoramento e geração de registros para um novo cluster

Nas instruções de criação de cluster desta seção, são abordadas apenas as opções relevantes para o Cloud Logging e o Cloud Monitoring. Para ver instruções completas sobre a criação de um cluster do GKE, leia Como criar um cluster.

CONSOLE

  1. Acesse a página Clusters do GKE do seu projeto. Clique no botão a seguir para acessar:

    Acessar os clusters do Kubernetes

  2. Clique em Criar cluster.

  3. No painel de navegação, em Cluster, clique em Recursos.

  4. Em Operações, selecione os registros e as métricas que você quer coletar.

    • Para novos clusters, o Cloud Logging e o Cloud Monitoring são ativados por padrão.

    • Para desativar o Cloud Logging, desmarque a caixa de seleção Ativar o Cloud Logging.

    • Para desativar o Cloud Monitoring, desmarque a caixa de seleção Ativar o Cloud Monitoring.

  5. Clique em Criar.

GCLOUD

Use gcloud para criar seu cluster:

  1. Abra uma janela de terminal com o SDK do Cloud e gcloud instalados. Uma maneira de fazer isso é usando o Cloud Shell.

  2. No Console do Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente com o SDK do Cloud pré-instalado com a ferramenta de linha de comando gcloud e os valores já definidos para seu projeto atual. A inicialização da sessão pode levar alguns segundos.

  3. Para novos clusters, o Cloud Logging e o Cloud Monitoring são ativados por padrão. Para criar o cluster, execute o comando a seguir:

    gcloud container clusters create [CLUSTER_NAME] \
      --zone=[ZONE] \
      --project=[PROJECT_ID]
    

    Na expressão anterior, [CLUSTER_NAME] é o nome dos seus clusters, [ZONE] é a zona do Compute e [PROJECT_ID] é o ID do projeto do Google Cloud, não o nome do projeto.

    1. Como alternativa, é possível configurar quais registros serão enviados para o Cloud Logging transmitindo uma lista de valores separados por vírgula para a sinalização --logging do comando create. Para não coletar registros, transmita --logging=NONE. Para coletar os registros do sistema e de carga de trabalho, transmita --logging=SYSTEM,WORKLOAD. Para coletar apenas registros do sistema, transmita --logging=SYSTEM. Exemplo:

      gcloud container clusters create [CLUSTER_NAME] \
        --zone=[ZONE] \
        --project=[PROJECT_ID] \
        --logging=SYSTEM
      
    2. Da mesma forma, é possível configurar quais métricas são enviadas para o Cloud Monitoring transferindo uma lista de valores separados por vírgula para a sinalização --monitoring do comando create. Para não coletar métricas, transfira --monitoring=NONE. Para coletar métricas do sistema, transmita --monitoring=SYSTEM. Exemplo:

      gcloud container clusters create [CLUSTER_NAME] \
        --zone=[ZONE] \
        --project=[PROJECT_ID] \
        --monitoring=SYSTEM
      

Como configurar o monitoramento e a geração de registros para um cluster existente

A seção a seguir detalha como modificar a integração do Cloud Logging e do Cloud Monitoring em um cluster do GKE existente.

Qual suporte de monitoramento e geração de registros meu cluster usa?

Para ver as configurações de integração do Cloud Logging e do Cloud Monitoring para o seu cluster, siga estas etapas:

  1. No Console do Google Cloud, clique no nome do cluster:

    Acessar os clusters do Kubernetes

  2. No painel Detalhes do cluster, consulte o status do Cloud Logging e do Cloud Monitoring.

Modificar seu cluster

Para alterar as configurações de integração do Cloud Logging ou do Cloud Monitoring em um cluster existente, siga estas etapas:

CONSOLE

  1. Acesse a página de clusters do Kubernetes do GKE relacionada ao projeto:

    Acessar os clusters do Kubernetes

  2. Clique no nome do cluster.

  3. Para modificar quais registros são enviados para o Cloud Logging ou quais métricas são enviadas para o Cloud Monitoring, clique em Editar ao lado do Cloud Logging ou do Cloud Monitoring.

  4. Na caixa de diálogo exibida, selecione quais registros ou métricas você quer enviar para o Cloud Logging ou o Cloud Monitoring.

  5. Clique em Save.

GCLOUD

As seguintes instruções do gcloud abrangem o upgrade do suporte a monitoramento e registro do cluster usando o comando gcloud container clusters update. Observe que você usa o comando update, não o comando upgrade.

  1. Abra uma janela de terminal com o SDK do Cloud e gcloud instalados. Uma maneira de fazer isso é usando o Cloud Shell.

  2. No Console do Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente com o SDK do Cloud pré-instalado com a ferramenta de linha de comando gcloud e os valores já definidos para seu projeto atual. A inicialização da sessão pode levar alguns segundos.

  3. Se ainda não tiver feito isso, configure valores padrão para o cluster no SDK do Cloud:

    gcloud config set project [PROJECT_ID]
    
  4. Configure quais registros serão enviados para o Cloud Logging transmitindo uma lista de valores separados por vírgula para a sinalização --logging do comando gcloud container clusters update. Veja uma lista completa das origens de registros disponíveis. Por exemplo, para coletar registros de sistema e carga de trabalho, transmita --logging=SYSTEM,WORKLOAD. Para coletar apenas registros do sistema, transmita --logging=SYSTEM. Ou, para não coletar registros, transmita --logging=NONE:

        gcloud container clusters update [CLUSTER_NAME] \
          --zone=[ZONE] \
          --logging=NONE
    
  5. Configure quais métricas são enviadas para o Cloud Monitoring transmitindo uma lista de valores separados por vírgula para a sinalização --monitoring do comando gcloud container clusters update. Veja uma lista completa das origens de métricas disponíveis. Por exemplo, para coletar métricas do sistema, transmita --monitoring=SYSTEM. Ou, para não coletar métricas, transmita --monitoring=NONE:

        gcloud container clusters update [CLUSTER_NAME] \
          --zone=[ZONE] \
          --monitoring=NONE
    

Parâmetros de configuração descontinuados

Se você estiver usando os parâmetros de configuração antigos para configurar a compatibilidade com geração de registros e monitoramento do cluster do GKE, esses parâmetros estão descontinuados. A tabela abaixo mostra os parâmetros de configuração equivalentes para substituir as sinalizações descontinuadas.

Configuração antiga Argumentos create antigos Argumentos update antigos Novos argumentos create e update
Desativado --no-enable-stackdriver-kubernetes --no-enable-stackdriver-kubernetes --logging=NONE
--monitoring=NONE
Somente monitoramento do sistema (Logging desativado) --enable-stackdriver-kubernetes
--no-enable-cloud-logging
--logging-service=none
--monitoring-service=monitoring.googleapis.com/kubernetes
--logging=NONE
--monitoring=SYSTEM
Somente sistema e registro de carga de trabalho (Monitoring desativado) --enable-stackdriver-kubernetes
--no-enable-cloud-monitoring
--logging-service=logging.googleapis.com/kubernetes
--monitoring-service=none
--logging=SYSTEM,WORKLOAD
--monitoring=NONE
Apenas monitoramento e geração de registros do sistema (Beta) --enable-logging-monitoring-system-only --enable-logging-monitoring-system-only --logging=SYSTEM
--monitoring=SYSTEM
Geração de registros e monitoramento do sistema e de cargas de trabalho --enable-stackdriver-kubernetes --enable-stackdriver-kubernetes --logging=SYSTEM,WORKLOAD
--monitoring=SYSTEM

A seguir

  • Saiba mais sobre os custos associados ao Cloud Logging e ao Cloud Monitoring lendo a página Preços.

  • Saiba mais sobre Como usar o Prometheus, uma ferramenta de monitoramento que costuma ser usada com o Kubernetes.