Cloud Logging

En este documento, se describe cómo GKE en AWS se integra en Cloud Logging y se explica cómo acceder a tus registros.

Descripción general

GKE en AWS admite Cloud Logging para las cargas de trabajo y los componentes del sistema que se ejecutan en el plano de control y los nodos del grupo de nodos.

GKE en AWS incluye un agente de Logging basado en Fluentbit. En los nodos del plano de control, el agente de Logging se ejecuta como un componente del sistema. En los nodos del grupo de nodos, se ejecuta como un Daemonset. Los datos que recopilan los agentes de registro se pueden administrar y borrar como cualquier métrica o dato de registro, como se describe en la documentación de Cloud Logging.

Qué datos se recopilan

GKE en AWS registra la siguiente información:

  • Los registros de los componentes del sistema en cada una de las réplicas del plano de control
  • Registros de los servicios del sistema en cada uno de los nodos del grupo de nodos
  • Opcionalmente, registros para cargas de trabajo

Habilita el registro de cargas de trabajo

Para habilitar el registro de cargas de trabajo, debes crear un nuevo clúster de Kubernetes, versión 1.22 o posterior.

De forma predeterminada, cuando creas un clúster de GKE on AWS, habilita el registro del sistema. Para habilitar el registro de cargas de trabajo, debes crear un clúster con la marca --logging. Puedes optar por habilitar el registro de los componentes del sistema, las cargas de trabajo o ambos.

Por ejemplo, para habilitar el registro del sistema y de cargas de trabajo en un clúster nuevo, sigue las instrucciones para crea un clúster, pero incluye la marca --logging en tu comando gcloud:

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

o para actualizar un clúster existente:

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

Accede a tus registros

Existen varias formas de acceder a los registros de GKE en AWS en Cloud Logging:

  • Explorador de registros: Puedes ver tus registros directamente desde el Explorador de registros. Para ello, usa los filtros de registro para seleccionar los recursos de Kubernetes, como los registros de clústeres, nodos, espacios de nombres, pods o registros de contenedores.

  • Google Cloud CLI: con el comando gcloud logging read, selecciona el clúster, el nodo, el Pod y los registros del contenedor adecuados.

Obtén información sobre tus registros

Un registro en Cloud Logging es una colección de entradas de registro y cada una se aplica a un tipo determinado de recurso de registro.

Tipos de recursos

Estos son los tipos de recursos específicos de GKE en AWS:

Tipo de recurso Nombre visible
k8s_control_plane_component Registros de componentes del plano de control
k8s_node Registros del grupo de nodos
k8s_container Registros de contenedores de cargas de trabajo

Cuando GKE en AWS escribe los registros de tu clúster, cada entrada de registro incluye el tipo de recurso. Saber dónde aparecen los registros facilita su búsqueda cuando los necesitas.

Registros del plano de control

Los registros del plano de control usan el tipo de recurso k8s_control_plane_component. Estos incluyen registros de los componentes del sistema que se ejecutan en las réplicas del plano de control, como kube-apiserver.

Registros de nodos

Los registros de nodos son parte del tipo de recurso k8s_node. Esto incluye los registros del componente fundamental del sistema que se ejecuta en los nodos trabajadores, como kubelet y containerd.

Registros de apps del sistema

Los registros de las apps del sistema corresponden al tipo de recurso k8s_container. Estos incluyen los registros de Pods que GKE en AWS instala en los nodos trabajadores. En particular, se incluyen los contenedores que se ejecutan en los siguientes espacios de nombres:

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

Busca tus registros en la interfaz de usuario de Cloud Logging

Puedes ver tus registros con el Explorador de registros en la interfaz de usuario de Cloud Logging.

Explorador de registros

Con el compilador de consultas, puedes compilar una consulta si agregas parámetros de consulta de forma manual. Por ejemplo, si deseas explorar los registros de las cargas de trabajo del sistema, puedes comenzar a seleccionar o buscar el tipo de recurso de k8s_container y, luego, seleccionar la ubicación y el nombre del clúster. Luego, puedes definir mejor la búsqueda si filtras los nombres del contenedor o del Pod.

El explorador de registros ofrece una forma adicional de compilar consultas de búsqueda mediante el Explorador del campo de registro. Muestra el recuento de entradas de registro, ordenadas de forma descendente, para el campo de registro dado. Usar el Explorador del campo de registros es útil sobre todo para los registros de GKE en AWS, ya que proporciona una manera fácil de seleccionar los valores de Kubernetes de tus recursos. Por ejemplo, puedes seleccionar registros para un clúster, un espacio de nombres, un nombre de Pod y un nombre de contenedor específicos.

Para obtener más información, consulta Usa el Explorador de registros.

Consultas de muestra

En esta sección, se incluyen consultas de muestra que puedes realizar en el Explorador de registros.

Ejemplo 1: Obtén los registros de kube-apiserver en los nodos del plano de control para un clúster de AWS CLUSTER_NAME:

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

Ejemplo 2: Obtén los registros de kubelet en nodos trabajadores de un clúster de AWS CLUSTER_NAME:

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

Ejemplo 3: Obtén los registros del contenedor cilium-agent para un clúster de AWS CLUSTER_NAME:

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

¿Qué sigue?