Como migrar para o Cloud Operations para GKE

Há duas opções para o suporte de monitoramento e geração de registro no Google Kubernetes Engine (GKE). Elas são fornecidas por todas as versões do GKE disponíveis para novos clusters e para atualizações de clusters atuais:

Nesta página, você aprenderá as diferenças entre essas duas opções e o que alterar para migrar do Logging e do Monitoring legados para o Cloud Operations para GKE.

Quando preciso migrar?

É possível migrar as configurações atuais do Cloud Monitoring e do Cloud Logging do Logging e do Monitoring legados para o Cloud Operations para GKE a qualquer momento. No entanto, lembre-se de que uma versão futura do GKE pode retirar o suporte para Logging e Monitoring legados. Se o suporte ao Logging e Monitoring legados for removido, será necessário migrar para o Cloud Operations para GKE antes caso você queira continuar a usar o suporte do Cloud Monitoring e do Cloud Logging.

A tabela a seguir resume as próximas versões esperadas do GKE com as respectivas opções de suporte:

Versão GKE Logging e Monitoring legados Cloud Operations para GKE
1.10 – 1.12.5 Padrão opcional (Beta)
1.12.7 Padrão Opcional
1.13 Padrão Opcional
1.14 Opcional Padrão
1.15 Não disponível Padrão

Para mais informações sobre a suspensão de uso do Logging and Monitoring legados, consulte o guia Suporte ao uso da suspensão de uso do GKE legado.

O que vai mudar?

O Cloud Operations para GKE usa um modelo de dados diferente para organizar métricas, registros e metadados. Veja algumas alterações específicas para seus clusters usando o Cloud Operations para GKE:

  • Alteração da navegação: os painéis do Cloud Monitoring são nomeados como GKE. Esse painel não aparecerá se você não tiver clusters que usam o Cloud Operations para GKE.

  • Mudanças nos nomes dos tipos de recursos monitorados: por exemplo, seus nós do Kubernetes estão listados no tipo de recurso monitorado k8s_node, que é um nó do Kubernetes, em vez de em gce_instance (instância de VM do Compute Engine).

  • Mudanças nos nomes de métricas do Kubernetes: no Cloud Operations para GKE, nomes de tipos de métricas agora começam com o prefixo kubernetes.io/ em vez do prefixo container.googleapis.com/.

A seguinte tabela resume as mudanças anteriores:

Alterar (Antigo) Logging e Monitoring legados (Novo) Cloud Operations para GKE.
Menus do painel Painéis > Clusters do GKE Painéis > GKE
Prefixos métricos container.googleapis.com kubernetes.io
Tipos de recursos gke_container (métricas)
container (registros)
gce_instance
(nenhum)
gke_cluster
k8s_container
k8s_container
k8s_node
k8s_pod
k8s_cluster

O que preciso fazer?

Nesta seção, você encontrará informações mais específicas sobre as mudanças do modelo de dados no Cloud Operations para GKE e o impacto delas nas configurações de monitoramento e geração de registro atuais.

Como usar o painel de status da migração

Para informações sobre as alterações que você precisa fazer na configuração do Logging como parte da migração para o Cloud Operations para GKE, consulte Atualizações de configuração do Logging.

Para identificar as configurações do Cloud Monitoring que você precisa atualizar como parte da migração para o Cloud Operations para GKE, faça o seguinte:

  1. No Console do Cloud, acesse o Monitoramento:

    Acessar o Monitoramento

  2. No painel de navegação do Monitoring, clique em Configurações e selecione a guia Status da Migração do Kubernetes.

O painel de exemplo a seguir mostra que uma política de alertas precisa ser atualizada:

Exibição do painel de migração.

Mudanças de tipo de recurso

O Cloud Operations para GKE têm novos nomes de tipo de recurso, novos nomes de exibição de tipo de recurso e novos nomes para os rótulos que identificam recursos específicos. Essas mudanças estão listadas na tabela a seguir.

Mudanças de tipo de recurso
(Antigo) Tipo de recurso do Logging e Monitoring legados (Novo) Tipo de recurso do Cloud Operations para GKE
Notas de rodapé da tabela:
1 No novo tipo de recurso usado (apenas) para monitoramento, instance_id torna-se node_name em metadata.system_labels.
2 zone refere-se ao local desse contêiner ou instância. location refere-se ao local do nó do mestre do cluster.
3 metadata.system_labels.node_name não está disponível em tipos de recurso k8s_container usados para geração de registros. Não é possível pesquisar registros por nome de nó.
4 O gce_instance O tipo de recurso pode representar nós do Kubernetes, bem como instâncias de VM que não são do Kubernetes. Ao fazer upgrade para o Cloud Operations para GKE, os usos relacionados ao nó serão alterados para usar o novo tipo de recurso, k8s_node, incluindo registros no nível do nó com os seguintes nomes: kubelet, docker, kube-proxy, startupscript e node-problem-detector.
5 Os nós k8s_pod e k8s_cluster podem incluir registros que não estão presentes no suporte ao Logging e Monitoring legados.
Somente Monitoring:
gke_container (Contêiner do GKE)

Rótulos:
  cluster_name
  container_name
  instance_id1
  namespace_id
  pod_id
  project_id
  zone2

Somente Logging:
container (Contêiner do GKE)

Rótulos:
  cluster_name
  container_name
  instance_id1
  namespace_id
  pod_id
  project_id
  zone2

Monitoring e Logging:
k8s_container (Contêiner do Kubernetes)

Rótulos:
  cluster_name
  container_name
  metadata.system_labels.node_name3
  namespace_name
  pod_name
  project_id
  location2

Somente Logging::
gce_instance (Instância de VM do Compute Engine)4

Rótulos:
  cluster_name
  instance_id
  project_id
  zone2
Monitoring e Logging
k8s_node4 (Nó do Kubernetes)

Rótulos:
  cluster_name
  node_name
  project_id
  location2

(nenhum)
Monitoring e Logging:
k8s_pod5 (Pod do Kubernetes)

Rótulos:
  cluster_name
  namespace_name
  pod_name
  project_id
  location2

Somente Logging
gke_cluster (GKE_cluster)

Rótulos:
  cluster_name
  project_id
  location

Monitoring e Logging:
k8s_cluster5 (Cluster do Kubernetes)

Rótulos:
  cluster_name
  project_id
  location

Mudanças nos nomes de métricas

A tabela a seguir mostra algumas amostras dos diferentes nomes de métricas. Mude cada uso de uma métrica com nome iniciado por container.googleapis.com/ para uma nova métrica com nome iniciado por kubernetes.io/.

Os novos nomes de métricas podem ser diferentes de outras maneiras, além do novo prefixo. Procure as novas métricas em kubernetes.io .

Mudanças nos nomes de métricas
(Antigo) Métricas de Logging e Monitoring legados (Novo) Métricas do Cloud Operations para GKE
Métricas legadas do GKE
container.googleapis.com/

Exemplos:
  .../container/cpu/utilization
  .../container/uptime
  .../container/memory/bytes_total
Métricas do Kubernetes Engine Monitoring
kubernetes.io/

Exemplos:
  .../container/cpu/request_utilization
  .../container/uptime
  .../node/memory/total_bytes
  .../node/cpu/total_cores

Mudanças de grupo de recursos

Se você definir grupos de recursos próprios e usar qualquer um dos tipos de recursos de Logging e Monitoring legados mostrados na tabela anterior Mudanças de tipo de recurso ou qualquer Logging legado e as métricas do Monitoring mostradas na tabela Mudanças no nome da métrica anterior, altere esses tipos e as métricas para os tipos de recursos do Cloud Operations para GKE correspondentes. Se o grupo de recursos incluir gráficos personalizados, talvez seja necessário mudá-los.

Mudanças em gráficos e painéis personalizados

Se você definir gráficos e painéis personalizados próprios e usar qualquer um dos tipos de recursos de Logging e Monitoring legados mostrados na tabela Mudanças de tipo de recurso anterior ou as métricas de Logging e Monitoring legados mostradas na tabela anterior Alterações no nome da métrica, em seguida, altere esses tipos e métricas para o Cloud Operations para GKE correspondente.

Para seus gráficos e painéis personalizados, consiga ajuda visualizando o painel de status da migração do GKE:

  1. No Console do Cloud, selecione o projeto do Google Cloud que contém um cluster do GKE para atualizar para o Cloud Operations para GKE:

    Acessar o Console do Cloud

  2. Selecione Monitoring.

  3. Para acessar o status de migração, no painel de navegação do Monitoring, clique em Configurações e selecione a guia Status da Migração do Kubernetes.

Mudanças na política de alertas e tempo de atividade

Se você definir políticas de alerta ou verificações de tempo de atividade e usar qualquer um dos tipos de recursos de Logging e Monitoring legados mostrados nas Alterações de tipo de recurso anterior ou qualquer métrica legada do Logging e do Monitoring mostrada na tabela anterior Alterações no nome da métrica. Em seguida, altere esses tipos e métricas para o Cloud Operations para GKE correspondentes.

O upgrade das políticas de alertas e das verificações de tempo de atividade podem ser as mudanças mais difíceis de serem realizadas e verificadas. Uma pergunta a ser considerada é: quando fazer essas mudanças? Você muda a configuração da política antes de fazer upgrade do cluster ou depois? As políticas antigas falham depois que você atualiza o cluster e as novas falham antes de você atualizá-lo.

Em vez de mudar políticas, considere deixar as políticas atuais inalteradas e criar novas com as mudanças atualizadas. Isso pode facilitar o acompanhamento das políticas que você espera que falhem e das que você não espera em momentos diferentes durante a atualização.

Aqui estão algumas outras dicas:

  • Examine suas políticas e estime por quanto tempo seu cluster atualizado precisará ser executado antes de acumular dados suficientes para funcionar no estado estável.

  • Tenha uma ideia do desempenho das políticas ou métricas individuais antes de atualizar. Dessa maneira, é possível comparar esse comportamento com o comportamento pós-atualização.

Atualizações de configuração do Logging

Nesta seção, descrevemos as alterações que você pode precisar fazer na configuração do Cloud Logging como parte de uma migração para o Cloud Operations para GKE.

Como gerar registros de consultas

Se você usa consultas para encontrar e filtrar seus registros Cloud Logging e usa qualquer um dos tipos de recursos de Logging e Monitoring legados mostrados no Mudanças de tipo de recurso, altere-os para os tipos do Cloud Operations para GKE correspondentes.

Métricas com base em registros

Se você definir suas métricas com base em registros e usar tipos de recursos e métricas do Logging e Monitoring legados mostrados nas tabelas de Alterações nos nomes das métricas ou Mudanças de tipo de recurso anteriores, altere essas métricas e tipos de recursos para o Cloud Operations para GKE correspondente.

Exportações e exclusões de registros

Se você exportar ou excluir algum dos registros e se os filtros de exportação ou exclusão usarem os tipos de recursos do Logging e Monitoring legados mostrados na tabela de Alterações no tipo de recurso anterior, altere os filtros de exportação e exclusão para usar os tipos de recursos do Cloud Operations para GKE correspondente.

Mudanças no conteúdo de entradas de registro

Quando você atualiza para o Cloud Operations no GKE, talvez descubra que determinadas informações nas entradas de registro foram movidas para campos com nomes diferentes. Essas informações podem ser exibidas em consultas de registros usadas em métricas baseadas em registros, coletores de registros e exclusões de registros.

A tabela a seguir, Alterações na entrada de registro, lista os novos campos e rótulos. Aqui está um breve resumo:

  • O campo logName pode ser mudado. As entradas de registro do Cloud Operations para GKE usam stdout ou stderr nos nomes de registro, enquanto o Logging e o Monitoring legados usava uma variedade maior de nomes, incluindo o nome de contêiner. O nome de contêiner ainda está disponível como um rótulo de recurso.
  • Verifique o campo labels nas entradas de registro. Esse campo pode conter informações que anteriormente estavam nos campos metadata de entrada de registro.
  • Verifique o campo resource.labels nas entradas de registro. Os novos tipos de recursos têm valores de rótulo a mais.
Mudanças nas entradas de registro
(Antigo) Entradas de registro de Logging e Monitoring legados (Novo) Entradas de registro do Cloud Operations para GKE
Notas de rodapé da tabela:
1 Os rótulos de recurso identificam recursos específicos que geram métricas, como clusters e nós específicos.
2 O campo labels é exibido em novas entradas de registro que fazem parte do Cloud Operations para GKE e, de vez em quando, em algumas entradas de registro do Logging e Monitoring legados. Nas operações do Cloud Operations para GKE, ele é usado para armazenar algumas informações anteriormente nos campos de entrada de registro metadata.
Recursos de entrada de registro
(Rótulos de recursoresource.labels1)
Recursos de entrada de registro
(Rótulos de recursoresource.labels1)
Metadados de entrada de registro
labels (Rótulos de entrada de registro2)

Rótulos (Examples)
  compute.googleapis.com/resource_name:
    "fluentd-gcp-v3.2.0-d4d9p"

  container.googleapis.com/namespace_name:
    "kube-system"

  container.googleapis.com/pod_name:
    "fluentd-gcp-scaler-8b674f786-d4pq2"

  container.googleapis.com/stream:
    "stdout"
Metadados de entrada de registro
labels

Mudanças em locais de registro

No Cloud Logging, os registros são armazenados com o tipo de recurso que os gerou. Como esses tipos foram alterados no Cloud Operations para GKE, procure seus registros nos novos tipos de recursos, como Kubernetes Container, não nos tipos de Logging e Monitoring legados, como GKE Container.

A seguir