Cloud Logging

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

Información general

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

GKE on AWS incluye un agente de registro basado en Fluentbit. En los nodos del plano de control, el agente de registro se ejecuta como un componente del sistema. En los nodos del grupo de nodos, se ejecuta como un DaemonSet. Los datos recogidos por los agentes de registro se pueden gestionar y eliminar como cualquier otra métrica y dato de registro, tal como se describe en la documentación de Cloud Logging.

Qué datos se recogen

GKE on AWS registra la siguiente información:

  • 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 de cargas de trabajo

Habilitar el registro de cargas de trabajo

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

De forma predeterminada, cuando creas un clúster, 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 habilitar el registro de componentes del sistema, cargas de trabajo o ambos.

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

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

o actualizar un clúster:

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

Acceder a tus registros

Hay 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 mediante los filtros de registro para seleccionar los recursos de Kubernetes, como los registros de clústeres, nodos, espacios de nombres, pods o contenedores.

  • CLI de Google Cloud: usa el comando gcloud logging read para seleccionar los registros de clúster, nodo, pod y contenedor adecuados.

Interpretar los registros

Un registro de Cloud Logging es una colección de entradas de registro, y cada entrada de registro se aplica a un tipo concreto 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 de grupos 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. Si sabes dónde aparecen los registros, te resultará más fácil encontrarlos cuando los necesites.

Registros del plano de control

Los registros del plano de control usan el tipo de recurso k8s_control_plane_component. Entre ellos, se incluyen los 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 se incluyen en el tipo de recurso k8s_node. Entre ellos, se incluyen los registros de los componentes críticos del sistema que se ejecutan en los nodos de trabajador, como kubelet y containerd.

Registros de aplicaciones del sistema

Los registros de aplicaciones del sistema se incluyen en el tipo de recurso k8s_container. Esto incluye los registros de los pods instalados en los nodos de trabajo por GKE en AWS. En concreto, 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

Buscar registros en la interfaz de usuario de Cloud Logging

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

Explorador de registros

Con Query Builder, puedes crear una consulta añadiendo parámetros de consulta manualmente. Por ejemplo, si quieres consultar los registros de las cargas de trabajo del sistema, puedes empezar seleccionando o buscando el tipo de recurso k8s_container y, a continuación, seleccionar la ubicación y el nombre del clúster. A continuación, puedes acotar la búsqueda filtrando los nombres de los contenedores o de los pods.

El explorador de registros ofrece otra forma de crear consultas de búsqueda mediante el explorador de campos de registro. Muestra el número de entradas de registro, ordenadas de mayor a menor, del campo de registro correspondiente. Usar el explorador de campos de registro es especialmente útil para los registros de GKE en AWS, ya que proporciona una forma sencilla de seleccionar los valores de Kubernetes de tus recursos. Por ejemplo, puedes seleccionar los registros de 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 el artículo sobre cómo usar el Explorador de registros.

Consultas de ejemplo

En esta sección se incluyen consultas de ejemplo que puedes hacer en el explorador de registros.

Ejemplo 1: Obtener los registros de kube-apiserver en los nodos del plano de control de 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: Obtener los registros de kubelet en los nodos de trabajo 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: Obtener los registros del contenedor cilium-agent de un clúster de AWS CLUSTER_NAME:

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

Siguientes pasos