Registro em nuvem

Este documento descreve como o GKE na AWS se integra ao Cloud Logging e mostra como acessar seus logs.

Visão geral

O GKE na AWS oferece suporte ao Cloud Logging para cargas de trabalho e para componentes do sistema em execução no plano de controle e nos nós do pool de nós.

O GKE na AWS inclui um agente de registro baseado em Fluentbit . Nos nós do plano de controle, o agente de registro é executado como um componente do sistema; nos nós do pool de nós, ele é executado como um Daemonset. Os dados coletados pelos agentes de registro podem ser gerenciados e excluídos como quaisquer outras métricas e dados de registro, conforme descrito na documentação do Cloud Logging .

Quais dados são coletados

O GKE na AWS registra as seguintes informações:

  • Logs para componentes do sistema em cada réplica do plano de controle.
  • Logs para serviços do sistema em cada um dos nós do pool de nós.
  • Opcionalmente, logs para cargas de trabalho

Habilitar registro de carga de trabalho

Para habilitar o registro de carga de trabalho, você deve criar um novo cluster do Kubernetes, versão 1.22 ou posterior.

Por padrão, ao criar um cluster, o GKE na AWS habilita o registro em log do sistema. Para habilitar o registro em log de carga de trabalho, você precisa criar um cluster com o sinalizador --logging . Você pode optar por habilitar o registro em log para componentes do sistema, cargas de trabalho ou ambos.

Por exemplo, para habilitar o registro do sistema e da carga de trabalho em um novo cluster, siga as instruções para criar um cluster , mas inclua o sinalizador --logging no seu comando gcloud :

gcloud container aws clusters create CLUSTER_NAME
...
--logging=SYSTEM,WORKLOAD

ou para atualizar um cluster existente :

gcloud container aws clusters update CLUSTER_NAME
...
--logging=SYSTEM,WORKLOAD

Acesse seus registros

Há várias maneiras de acessar seus logs do GKE na AWS no Cloud Logging:

  • Logs Explorer – Você pode ver seus logs diretamente do Logs Explorer usando os filtros de log para selecionar os recursos do Kubernetes, como cluster, nó, namespace, pod ou logs de contêiner.

  • Google Cloud CLI – Usando o comando gcloud logging read , selecione os logs de cluster, nó, pod e contêiner apropriados.

Compreendendo seus registros

Um log no Cloud Logging é uma coleção de entradas de log , e cada entrada de log se aplica a um determinado tipo de recurso de log .

Tipos de recursos

Estes são os tipos de recursos específicos do GKE na AWS:

Tipo de recurso Nome de exibição
k8s_control_plane_component Logs de componentes do plano de controle
k8s_node Registros do pool de nós
k8s_container Logs do contêiner de carga de trabalho

Quando o GKE na AWS grava os logs do seu cluster, cada entrada de log inclui o tipo de recurso. Entender onde os logs aparecem facilita a localização deles quando você precisa deles.

Registros do plano de controle

Os logs do plano de controle usam o tipo de recurso k8s_control_plane_component . Eles incluem logs de componentes do sistema em execução nas réplicas do plano de controle, como kube-apiserver .

Registros de nós

Os logs de nós se enquadram no tipo de recurso k8s_node . Incluem logs de componentes críticos do sistema em execução nos nós de trabalho, como kubelet e containerd .

Registros de aplicativos do sistema

Os logs de aplicativos do sistema se enquadram no tipo de recurso k8s_container . Eles incluem logs de pods instalados nos nós de trabalho pelo GKE na AWS. Especificamente, contêineres em execução nos seguintes namespaces estão incluídos:

  • kube-system
  • gke-connect
  • gke-system
  • gmp-system
  • asm-user-auth
  • cnrm-system
  • config-management-system
  • gatekeeper-system
  • gmp-public
  • istio-system
  • knative-serving

Encontre seus logs na interface do usuário do Cloud Logging

Você pode visualizar seus logs usando o Logs Explorer na interface do usuário do Cloud Logging.

Explorador de Logs

Usando o Construtor de Consultas, você pode criar uma consulta adicionando parâmetros de consulta manualmente. Por exemplo, se quiser explorar logs de cargas de trabalho do sistema, você pode começar selecionando ou pesquisando o tipo de recurso k8s_container e, em seguida, selecionar o local e o nome do cluster. Você pode refinar sua pesquisa filtrando os nomes dos contêineres ou pods.

O Explorador de Logs oferece uma maneira adicional de criar suas consultas de pesquisa usando o Explorador de Campos de Logs . Ele mostra a contagem de entradas de log, classificadas em ordem decrescente de contagem, para o campo de log fornecido. Usar o Explorador de Campos de Logs é particularmente útil para logs do GKE na AWS, pois fornece uma maneira fácil de selecionar os valores do Kubernetes para seus recursos. Por exemplo, você pode selecionar logs para um cluster, namespace, nome de pod e nome de contêiner específicos.

Para obter mais informações, consulte Usando o Logs Explorer .

Consultas de exemplo

Esta seção inclui exemplos de consultas que você pode fazer no Logs Explorer.

Exemplo 1: Obtenha os logs do kube-apiserver nos nós do plano de controle para um cluster AWS CLUSTER_NAME :

resource.type="k8s_control_plane_component"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.component_name="apiserver"

Exemplo 2: Obtenha os logs do kubelet nos nós de trabalho de um cluster AWS CLUSTER_NAME :

resource.type="k8s_node"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
log_name="projects/PROJECT_ID/logs/kubelet"

Exemplo 3: Obtenha os logs do contêiner cilium-agent para um cluster AWS CLUSTER_NAME :

resource.type="k8s_container"
resource.labels.cluster_name="awsClusters/CLUSTER_NAME"
resource.labels.container_name="cilium-agent"

O que vem a seguir