Migra a Kubernetes Engine Monitoring

Hay dos opciones para la asistencia de Monitoring y Logging en Google Kubernetes Engine (GKE). Todas las versiones de GKE disponibles para los clústeres nuevos y las actualizaciones de los clústeres existentes ofrecen estas opciones:

En esta página, se explican las diferencias entre estas dos opciones y lo que debes cambiar para migrar de Logging y Monitoring heredados a Kubernetes Engine Monitoring.

¿Cuándo debo migrar?

Puedes migrar tu configuración existente de Cloud Monitoring y Cloud Logging existentes desde Logging y Monitoring heredados hasta Kubernetes Engine Monitoring en cualquier momento. Sin embargo, ten en cuenta que una próxima actualización de GKE podría anular la asistencia para Logging y Monitoring heredados. Si se quita la asistencia para before then if you want to continue to use, deberás migrar a Kubernetes Engine Monitoring antes de esa fecha si quieres seguir usando la asistencia de Cloud Monitoring y Cloud Logging.

En la siguiente tabla, se resumen las próximas versiones previstas de GKE con sus opciones de asistencia:

Versión de GKE Logging y Monitoring heredados Kubernetes Engine Monitoring
1.10-1.12.5 Predeterminado Habilitación opcional (Beta)
1.12.7 Predeterminado Opcional
1.13 Predeterminado Opcional
1.14 Opcional Predeterminado
1.15 No disponible Predeterminado

¿Qué aspectos cambiarán?

Kubernetes Engine Monitoring utiliza un modelo de datos diferente para organizar sus métricas, registros y metadatos. Estos son algunos de los cambios específicos para los clústeres que usan Kubernetes Engine Monitoring:

  • Cambios en la navegación: los paneles de Cloud Monitoring se llaman Nuevo Kubernetes Engine. Este panel no aparecerá si no tienes clústeres que utilicen Kubernetes Engine Monitoring.

  • Cambios en los nombres de tipos de recursos supervisados: por ejemplo, tus nodos de Kubernetes se enumeran en el tipo de recurso supervisado k8s_node, que es un nodo de Kubernetes, en lugar de en gce_instance (instancia de VM de Compute Engine).

  • Cambios en los nombres de las métricas de Kubernetes: en Kubernetes Engine Monitoring, los nombres de tipos de métricas ahora comienzan con el prefijo kubernetes.io/ en lugar de container.googleapis.com/.

En la siguiente tabla, se resumen los cambios mencionadas anteriormente:

Cambio Logging y Monitoring heredados (antiguo) Kubernetes Engine Monitoring (nuevo)
Menús del panel Paneles > Kubernetes Engine Paneles > Nuevo Kubernetes Engine
Prefijos de métricas container.googleapis.com kubernetes.io
Tipos de recursos gke_container (métricas)
container (registros)
gce_instance
(ninguno)
gke_cluster
k8s_container
k8s_container
k8s_node
k8s_pod
k8s_cluster

¿Qué debo hacer?

En esta sección, se incluye información más específica sobre los cambios del modelo de datos en Kubernetes Engine Monitoring y su efecto en la configuración existente de Monitoring y Logging.

Usa el panel de estado de migración

Para identificar las configuraciones de Cloud Monitoring y cloud Logging que debes actualizar como parte de la migración a Kubernetes Engine Monitoring, sigue estos pasos:

  1. En Cloud Console, ve a Monitoring:

    Ir a Monitoring

  2. Para acceder al estado de la migración, en el panel de navegación de Monitoring, haz clic en Settings (Configuración) y, luego, selecciona la pestaña Kubernetes Migration Status (Estado de la migración de Kubernetes).

En el siguiente panel de ejemplo, no se muestra ninguna tarea pendiente:

Muestra del panel de la migración.

Cambios en los tipos de recursos

Kubernetes Engine Monitoring tiene nombres y nombres comerciales nuevos de tipos de recursos y nombres nuevos de etiquetas que identifican recursos específicos. Estos cambios se enumeran en la siguiente tabla.

Cambios en los tipos de recursos
Tipo de recurso de Logging y Monitoring heredados (antiguo) Tipo de recurso de Kubernetes Engine Monitoring (nuevo)
Notas al pie de la tabla:
1 En el tipo de recurso nuevo utilizado (solo) en la supervisión, instance_id se convierte en node_name en metadata.system_labels.
2zone hace referencia a la ubicación de este contenedor o instancia. location hace referencia a la ubicación del nodo de la instancia principal del clúster.
3metadata.system_labels.node_name no está disponible en los tipos de recursos k8s_container utilizados para los registros. No puedes buscar registros por nombre de nodo.
4 El tipo de recurso gce_instance puede representar nodos de Kubernetes, así como instancias de VM que no son de Kubernetes. Cuando se realiza una actualización a Kubernetes Engine Monitoring, se cambian los usos relacionados con los nodos a fin de emplear el tipo de recurso nuevo, k8s_node, incluidos los registros a nivel del nodo, con los siguientes nombres: kubelet, docker, kube-proxy, startupscript y node-problem-detector.
5 Los nodos k8s_pod y k8s_cluster pueden incluir registros que no están presentes en la asistencia de Logging y Monitoring heredados.
Solo Monitoring:
gke_container (contenedor de GKE)

Etiquetas:
  cluster_name
  container_name
  instance_id1
  namespace_id
  pod_id
  project_id
  zone2

Solo Logging:
container (contenedor de GKE)

Etiquetas:
  cluster_name
  container_name
  instance_id1
  namespace_id
  pod_id
  project_id
  zone2

Monitoring y Logging:
k8s_container (contenedor de Kubernetes)

Etiquetas:
  cluster_name
  container_name
  metadata.system_labels.node_name3
  namespace_name
  pod_name
  project_id
  location2

Solo Logging::
gce_instance (instancia de VM de Compute Engine) 4

Etiquetas:
  cluster_name
  instance_id
  project_id
  zone2
Monitoring y Logging:
k8s_node4 (nodo de Kubernetes)

Etiquetas:
  cluster_name
  node_name
  project_id
  location2
 
(ninguna)
Monitoring y Logging:
k8s_pod5 (pod de Kubernetes)

Etiquetas:
  cluster_name
  namespace_name
  pod_name
  project_id
  location2

Solo Logging
gke_cluster (GKE_cluster)

Etiquetas:
  cluster_name
  project_id
  location

Monitoring y Logging:
k8s_cluster5 (clúster de Kubernetes)

Etiquetas:
  cluster_name
  project_id
  location

Cambios en los nombres de las métricas

En la siguiente tabla, se muestran algunos ejemplos de nombres de métricas. Debes cambiar cada uso de una métrica cuyo nombre comience con container.googleapis.com/ por una métrica nueva cuyo nombre comience con kubernetes.io/.

Los nombres nuevos de las métricas pueden variar según otros criterios además del prefijo nuevo. Busca las métricas nuevas en kubernetes.io .

Cambios en los nombres de las métricas
Métricas de Logging y Monitoring heredados (antiguo) Métricas de Kubernetes Engine Monitoring (nuevo)
Métricas de GKE heredado
container.googleapis.com/

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

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

Cambios en los grupos de recursos

Si defines tus propios grupos de recursos y usas cualquiera de los tipos de recursos de Logging y Monitoring heredados que aparecen en la tabla Cambios en los tipos de recursos anterior o en cualquier métrica de Logging and Monitoring heredados mostrada en la tabla Cambios en los nombres de las métricas anterior, cambia esos tipos y métricas para que sean las métricas y los tipos de recursos de Kubernetes Engine Monitoring correspondientes. Si tu grupo de recursos incluye gráficos personalizados, es posible que debas cambiarlos.

Cambios en los paneles y gráficos personalizados

Si defines tus propios gráficos y paneles personalizados y usas cualquiera de los tipos de recursos de Logging y Monitoring heredados mostrados en la tabla Cambios en los tipos de recursos anterior o en cualquier métrica de Logging y Monitoring heredados mostrados en la tabla Cambios en los nombres de las métricas anterior, cambia esos tipos y métricas a los correspondientes de Kubernetes Engine Monitoring.

Si deseas obtener ayuda con tus paneles y gráficos personalizados, consulta el panel de estado de migración de GKE:

  1. En Cloud Console, selecciona el proyecto de Google Cloud que contiene un clúster de GKE para actualizar a Kubernetes Engine Monitoring:

    Ir a Cloud Console

  2. Selecciona Monitoring.

  3. Para acceder al estado de la migración, en el panel de navegación de Monitoring, haz clic en Settings (Configuración) y, luego, selecciona la pestaña Kubernetes Migration Status (Estado de la migración de Kubernetes).

Cambios en las políticas de alertas y tiempo de actividad

Si defines las políticas de alertas o las verificaciones de tiempo de actividad y utilizas cualquiera de los tipos de recursos de Logging y Monitoring heredados que se muestran en la tabla anterior de Cambios en los tipos de recursos, o cualquiera de las métricas de Logging y Monitoring heredados que se muestran en la tabla anterior de Cambios en los nombres de las métricas, deberás cambiar esas métricas y tipos de recursos por los correspondientes a Kubernetes Engine Monitoring.

La actualización de las políticas de alertas y las verificaciones de tiempo de actividad pueden ser los cambios más difíciles de realizar y verificar. Una pregunta que debes tener en cuenta es cuándo realizar estos cambios. ¿Debes cambiar la configuración de tu política antes o después de actualizar el clúster? Las políticas anteriores fallarán después de actualizar el clúster, y las nuevas lo harán antes de realizar dicha actualización.

En lugar de cambiar las políticas implementadas, puedes dejar las políticas existentes sin modificarlas y crear políticas nuevas con los cambios actualizados. Esto podría facilitar el seguimiento de las políticas que se espera que fallen y las que no en diferentes momentos de la actualización.

A continuación, se brindan las siguientes sugerencias:

  • Revisa tus políticas y calcula durante cuánto tiempo tendrá que ejecutarse el clúster actualizado antes de que hayas acumulado suficientes datos para que funcione en el estado estable.

  • Se recomienda que conozcas el rendimiento de tus políticas o métricas individuales antes de realizar la actualización, de modo que puedas comparar ese comportamiento con el que surja después a la actualización.

Consultas de Logging

Si usas consultas para buscar y filtrar los registros en Cloud Logging y usas cualquiera de los tipos de recursos de Logging y Monitoring heredados que aparecen en la tabla Cambios en los tipos de recursos anterior, cambia esos tipos por los tipos correspondientes de Kubernetes Engine Monitoring.

Métricas según registros

Si defines tus propias métricas basadas en registros y utilizas las métricas de Logging y Monitoring heredados, o los tipos de recursos que se muestran en las tablas anteriores de Cambios en los nombres de las métricas o Cambios en los tipos de recursos, deberás cambiar esas métricas y tipos de recursos por los correspondientes a Kubernetes Engine Monitoring.

Exportaciones y exclusiones de registros

Si exportas o excluyes cualquiera de tus registros y si tus filtros de exportación o exclusión usan los tipos de recursos de Logging y Monitoring heredados que se muestran en la tabla anterior, Cambios en los tipos de recursos, deberás cambiar los filtros de exportación y exclusión y usar los tipos de recursos correspondientes de Kubernetes Engine Monitoring.

Cambios en el contenido de la entrada de registro

Cuando efectúas la actualización a Kubernetes Engine Monitoring, posiblemente descubras que cierta información de las entradas de registro se trasladó a campos con nombres diferentes. Esta información puede aparecer en las consultas de registros usadas en las métricas basadas en registros, los receptores de registros y las exclusiones de registros.

En la siguiente tabla, Cambios en las entradas de registro, se enumeran las etiquetas y los campos nuevos. A continuación, presentamos un breve resumen:

  • El campo logName puede cambiar. Las entradas de registro de Kubernetes Engine Monitoring usan stdout o stderr en sus nombres de registro, mientras que Logging y Monitoring heredados utilizan una variedad más amplia de nombres, incluido el nombre del contenedor. El nombre del contenedor aún está disponible como etiqueta de recurso.
  • Comprueba el campo labels en las entradas de registro. Es posible que este campo contenga información que anteriormente se encontraba en los campos de entrada de registro metadata.
  • Comprueba el campo resource.labels en las entradas de registro. Los tipos de recursos nuevos tienen valores de etiqueta adicionales.
Cambios en las entradas de registro
Entradas de registro de Logging y Monitoring heredados (antiguo) Entradas de registro de Kubernetes Engine Monitoring (nuevo)
Notas al pie de la tabla:
1 Las etiquetas de recursos identifican recursos específicos que generan métricas, como clústeres y nodos determinados.
2 El campo labels aparece en entradas de registro nuevas que forman parte de Kubernetes Engine Monitoring y, ocasionalmente, en algunas entradas de registro de Logging y Monitoring heredados. En Kubernetes Engine Monitoring, se usa para almacenar información que anteriormente se encontraba en los campos de entrada de registro metadata.
Recursos de entrada de registro
resource.labels (etiquetas de recursos1)
Recursos de entrada de registro
resource.labels (etiquetas de recursos1)
Metadatos de entrada de registro
labels (etiquetas de entrada de registro2)

etiquetas (ejemplos)
  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"
Metadatos de entrada de registro
labels

Cambios en las ubicaciones de los registros

En Cloud Logging, los registros se almacenan con el tipo de recurso que los generó. Debido a que estos tipos de recursos cambiaron en Kubernetes Engine Monitoring, asegúrate de buscar tus registros en los tipos de recursos nuevos, como Kubernetes Container, en lugar de hacerlo en los tipos de Logging y Monitoring heredados, por ejemplo: GKE Container.

Qué sigue

  • Para obtener más información sobre el panel nuevo de Kubernetes Engine Monitoring, consulta Observa tu sistema.