Migra a Stackdriver 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 Stackdriver heredado a Stackdriver Kubernetes Engine Monitoring.

¿Cuándo debo migrar?

Puedes migrar tus configuraciones existentes de Stackdriver Monitoring y Stackdriver Logging de Stackdriver heredado a Stackdriver 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 Stackdriver heredado. Si se quita la asistencia para Stackdriver heredado, deberás migrar a Stackdriver Kubernetes Engine Monitoring antes de esa fecha si quieres seguir usando la asistencia de Stackdriver Monitoring y Stackdriver Logging.

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

Versión de GKE Stackdriver heredado Stackdriver 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?

Stackdriver 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 Stackdriver Kubernetes Engine Monitoring:

  • Cambios en la navegación: los paneles de Stackdriver Monitoring se encuentran en un menú nuevo llamado Recursos > Nuevo Kubernetes Engine. Este panel no aparecerá si no tienes clústeres que utilicen Stackdriver 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 gce_instance (instancia de VM de Compute Engine).

  • Cambios en los nombres de las métricas de Kubernetes: en Stackdriver 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 (Anterior) Stackdriver heredado (Nuevo) Stackdriver Kubernetes Engine Monitoring
Menús del panel Recursos > Kubernetes Engine Recursos > 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 Stackdriver Kubernetes Engine Monitoring y su efecto en las configuraciones existentes de Monitoring y Logging.

Usa el panel de estado de migración

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

  1. En Cloud Console, ingresa en Monitoring:

    Ir a Monitoring

  2. Para acceder al estado de migración, sigue estos pasos:

    • Si Configuración (Settings) aparece en el panel de navegación, haz clic en Configuración (Settings) y selecciona la pestaña Estado de migración de Kubernetes (Kubernetes Migration Status).

    • De lo contrario, en la barra de herramientas, haz clic en Menú , selecciona Configuración del lugar de trabajo y, luego, ingresa en Estado de migración de Kubernetes (Kubernetes Migration Status).

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

Se muestra el panel de migración de Stackdriver.

Cambios en los tipos de recursos

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

Cambios en los tipos de recursos
(Anterior) Tipo de recurso de Stackdriver heredado (Nuevo) Tipo de recurso de Stackdriver Kubernetes Engine Monitoring
Notas al pie de la tabla:
1 En el tipo de recurso nuevo utilizado en la supervisión (solamente), 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 Stackdriver 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 Stackdriver heredado.
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
2   location

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
 
(ninguno)
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
(Anterior) Métricas de Stackdriver heredado (Nuevo) Métricas de Stackdriver Kubernetes Engine Monitoring
Métricas de GKE heredado
container.googleapis.com/

Ejemplos:
  .../container/cpu/utilization
  .../container/uptime
  .../container/memory/bytes_total
Métricas de Stackdriver Kubernetes
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 utilizas cualquiera de los tipos de recursos de Stackdriver heredado que se muestran en la tabla anterior de Cambios en los tipos de recursos, o cualquiera de las métricas de Stackdriver heredado 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 Stackdriver Kubernetes Engine Monitoring. 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 paneles y gráficos personalizados, y utilizas cualquiera de los tipos de recursos de Stackdriver heredado que se muestran en la tabla anterior de Cambios en los tipos de recursos, o cualquiera de las métricas de Stackdriver, heredado 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 Stackdriver 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 contenga un clúster de GKE para llevar a cabo la actualización a Stackdriver Kubernetes Engine Monitoring:

    Ir a Cloud Console

  2. Selecciona Monitoring.

  3. Para ver el estado de la migración, sigue estos pasos:

    • Si Configuración (Settings) aparece en el panel de navegación, haz clic en Configuración (Settings) y selecciona la pestaña Estado de migración de Kubernetes (Kubernetes Migration Status).

    • De lo contrario, en la barra de herramientas, haz clic en Menú , selecciona Configuración del lugar de trabajo y, luego, ingresa en **Estado de migración de Kubernetes (Kubernetes Migration Status).

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 Stackdriver heredado que se muestran en la tabla anterior de Cambios en los tipos de recursos, o cualquiera de las métricas de Stackdriver heredado 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 Stackdriver 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 en Logging

Si utilizas consultas para buscar y filtrar tus registros en Stackdriver Logging, y usas cualquiera de los tipos de recursos de Stackdriver heredado que se muestran en la tabla anterior, Cambios en los tipos de recursos, deberás cambiar esos tipos de recursos por los correspondientes a Stackdriver Kubernetes Engine Monitoring.

Métricas basadas en registros

Si defines tus propias métricas basadas en registros y utilizas las métricas de Stackdriver heredado, 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 Stackdriver 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 Stackdriver heredado 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 a Stackdriver Kubernetes Engine Monitoring.

Cambios en el contenido de la entrada de registro

Cuando efectúas la actualización a Stackdriver 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 la entrada 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 Stackdriver Kubernetes Engine Monitoring usan stdout o stderr en sus nombres de registro, mientras que Stackdriver heredado utiliza 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 la entrada de registro
(Anterior) Entradas de registro de Stackdriver heredado (Nuevo) Entradas de registro de Stackdriver Kubernetes Engine Monitoring
Notas a pie de 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 Stackdriver Kubernetes Engine Monitoring y, ocasionalmente, en algunas entradas de registro de Stackdriver heredado. En Stackdriver 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 recursos 1)
Recursos de entrada de registro
resource.labels (etiquetas de recursos 1)
Metadatos de entrada de registro
labels (etiquetas de entrada de registro 2)

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 Stackdriver Logging, los registros se almacenan con el tipo de recurso que los generó. Debido a que estos tipos de recursos cambiaron en Stackdriver 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 Stackdriver heredado, por ejemplo: GKE Container.

Próximos pasos

  • Para obtener más información sobre el panel nuevo de Stackdriver Kubernetes Engine Monitoring, consulta la sección sobre cómo observar tu sistema.