Versión 1.1. Esta versión ya no es compatible como se describe en la política de compatibilidad de versiones de Anthos. Para obtener los últimos parches y actualizaciones de vulnerabilidades de seguridad, exposiciones y problemas que afectan a clústeres de Anthos alojados en VMware (GKE On-Prem), actualiza a una versión compatible. Puedes encontrar la versión más reciente aquí.

Registros y supervisión

GKE On-Prem incluye varias opciones de registro y supervisión de clústeres, incluidos los servicios administrados basados en la nube, herramientas de código abierto y compatibilidad validada con soluciones comerciales de terceros. En esta página, se explican estas opciones y se proporciona orientación básica sobre cómo seleccionar la solución adecuada para el entorno.

Descripción general

Tienes varias opciones de registro y supervisión para los clústeres de GKE On-Prem:

  • Cloud Logging y Cloud Monitoring, habilitados por agentes en el clúster e implementados con GKE On-Prem
  • Prometheus y Grafana, habilitados de forma predeterminada en los clústeres nuevos
  • Opciones de configuración validadas con soluciones de terceros

Cloud Logging y Monitoring

Stackdriver es la solución de observabilidad integrada para Google Cloud. Ofrece una solución de registro completamente administrada, recopilación de métricas, supervisión, paneles y alertas. Stackdriver supervisa los clústeres de GKE On-Prem de manera similar a los clústeres de GKE basados en la nube.

Los agentes de Stackdriver se pueden configurar con dos niveles diferentes de registro y supervisión:

  • Solo componentes del sistema (configuración predeterminada)
  • Stackdriver inhabilitado (antes de inhabilitarlo, consulta la página de asistencia para saber cómo se usa Stackdriver con fines de asistencia)

Stackdriver es una solución ideal para los clientes que desean una solución de observabilidad única, potente, fácil de configurar y basada en la nube. Stackdriver es muy recomendable cuando se ejecutan cargas de trabajo solo en GKE On-Prem o en GKE y GKE On-Prem. Para las aplicaciones con componentes que se ejecutan en la infraestructura local y tradicional de GKE On-Prem, puedes considerar otras soluciones para una vista de extremo a extremo de esas aplicaciones.

  • Consulta la sección sobre Stackdriver a fin de obtener detalles sobre la arquitectura, la configuración y los datos que se replican en el proyecto de Google Cloud de forma predeterminada para GKE On-Prem.
  • Consulta las secciones Cloud Logging y Cloud Monitoring para obtener más detalles sobre esos servicios.

Prometheus y Grafana

Prometheus y Grafana son dos productos populares de supervisión de código abierto:

  • Prometheus recopila métricas de aplicaciones y sistemas.
  • Alertmanager maneja el envío de alertas con varios mecanismos de alerta diferentes.
  • Grafana es una herramienta de paneles.

Prometheus y Grafana se ejecutan en cada clúster de administrador y de usuario de forma predeterminada. Prometheus y Grafana se recomiendan para equipos de aplicaciones con experiencia previa en esos productos o equipos operativos que prefieren conservar las métricas de la aplicación dentro del clúster y, también, a fin de solucionar los problemas cuando se pierde la conectividad de red.

Soluciones de terceros

Google trabajó con varios proveedores de soluciones de registro y supervisión de terceros para ayudar a que sus productos funcionen bien con GKE On-Prem. Entre estos, se incluyen Datadog, Elastic y Splunk. En el futuro, se agregarán más proveedores validados.

Las siguientes guías de soluciones están disponibles para usar soluciones de terceros con GKE On-Prem:

Cómo funciona Stackdriver para GKE On-Prem

Cloud Logging y Cloud Monitoring se instalan y se activan en cada clúster cuando creas un nuevo clúster de administrador o de usuario.

Los agentes de Stackdriver incluyen varios componentes en cada clúster:

  • El operador de Stackdriver (stackdriver-operator-*), que administra el ciclo de vida de todos los demás agentes de Stackdriver implementados en el clúster.
  • Recurso personalizado de Stackdriver que se crea automáticamente como parte del proceso de instalación de GKE On-Prem; los usuarios pueden cambiar el recurso personalizado para actualizar valores como el ID del proyecto, el nombre del clúster y la ubicación del clúster en cualquier momento.
  • Agregador de registros de Stackdriver (stackdriver-log-aggregator-*), un StatefulSet de Fluentd que envía registros a la API de Cloud Logging; si no se pueden enviar los registros, el agregador de registros almacena las entradas de registro en un máximo de 200 GB y trata de reenviarlas por hasta 24 horas. Si el búfer se llena o si el agregador de registros no puede acceder a la API de Logging durante más de 24 horas, se borrarán los registros.
  • El agente de reenvío de registros de Stackdriver (stackdriver-log-forwarder-*), un daemonset de Fluentbit que reenvía registros de cada máquina al agregador de registros de Stackdriver.
  • El recopilador de métricas de Stackdriver (stackdriver-prometheus-k8s-), que es un StatefulSet de sidecar de Prometheus y Stackdriver para Prometheus que envía métricas de Prometheus a la API de Cloud Logging.
  • El recopilador de metadatos de Stackdriver (stackdriver-metadata-agent-), que es una implementación que envía metadatos de recursos de Kubernetes, como pods, implementaciones o nodos, a la API de metadatos de recursos de Stackdriver. Estos datos se usan para enriquecer las consultas de métricas, ya que te permiten realizar consultas por nombre de implementación, de nodo o incluso de servicio de Kubernetes.

Puedes ver todos los agentes que instaló Stackdriver si ejecutas el siguiente comando:

  kubectl -n kube-system get pods | grep stackdriver

El resultado de este comando es similar al siguiente:

stackdriver-log-aggregator-0                  1/1     Running   0   4h31m
stackdriver-log-aggregator-1                  1/1     Running   0   4h28m
stackdriver-log-forwarder-bpf8g               1/1     Running   0   4h31m
stackdriver-log-forwarder-cht4m               1/1     Running   0   4h31m
stackdriver-log-forwarder-fth5s               1/1     Running   0   4h31m
stackdriver-log-forwarder-kw4j2               1/1     Running   0   4h29m
stackdriver-metadata-agent-cluster-level...   1/1     Running   0   4h31m
stackdriver-operator-76ddb64d57-4tcj9         1/1     Running   0   4h37m
stackdriver-prometheus-k8s-0                  2/2     Running   0   4h31m

Configura agentes de Stackdriver para GKE On-Prem

Los agentes de Stackdriver instalados mediante GKE On-Prem recopilan datos sobre los componentes del sistema, que están sujetos a la configuración, a fin de realizar el mantenimiento y solucionar problemas con los clústeres de GKE On-Prem. Para ello, usan uno de los siguientes modos:

Solo componentes del sistema (modo predeterminado)

Luego de la instalación, los agentes de Stackdriver se configuran de forma predeterminada para recopilar registros y métricas, incluidos los detalles de rendimiento (por ejemplo, el uso de CPU y memoria) y metadatos similares, que corresponden a componentes del sistema que proporciona Google. Entre estos, se incluyen todas las cargas de trabajo del clúster de administrador y, en el caso de los clústeres de usuario, las cargas de trabajo de los espacios de nombres de kube-system, gke-system, gke-connect, istio-system y config-management-system.

Stackdriver inhabilitado

Los agentes de Stackdriver se pueden inhabilitar por completo si se borra el recurso personalizado de Stackdriver. Antes de inhabilitar Stackdriver, consulta la página de asistencia para obtener detalles sobre cómo esto afecta a los ANS de Google Cloud Support.

Para inhabilitar Stackdriver en GKE On-Prem, haz lo siguiente:

kubectl -n kube-system delete Stackdriver stackdriver

Los agentes de Stackdriver capturan datos almacenados de forma local, que están sujetos a la configuración de almacenamiento y retención. Los datos se replican en el proyecto de Google Cloud especificado en la instalación mediante una cuenta de servicio autorizada para escribir datos en ese proyecto. Los agentes de Stackdriver se pueden inhabilitar en cualquier momento, como se describió con anterioridad, y los datos recopilados por los agentes de Stackdriver se pueden administrar y borrar como cualquier otra métrica o dato de registro, como se describe en la documentación de Stackdriver.

Requisitos de configuración para Stackdriver

Existen varios requisitos de configuración para habilitar Stackdriver con GKE On-Prem. Estos pasos se incluyen en Prepara la instalación, y se enumeran a continuación.

  1. Debes crear un lugar de trabajo de Cloud Logging dentro del proyecto de Google Cloud. Para ello, haz clic en Monitoring en Cloud Console y sigue el flujo de trabajo.
  2. Debes habilitar las siguientes API de Stackdriver:
    1. API de Stackdriver
    2. API de Cloud Monitoring
    3. API de Cloud Logging
  3. Debes asignar las siguientes funciones de IAM a la cuenta de servicio que usan los agentes de Stackdriver:
    1. logging.logWriter
    2. monitoring.metricWriter
    3. stackdriver.resourceMetadata.writer

Precios

En Anthos, se incluye una asignación gratuita adicional de Cloud Logging que es superior a la asignación gratuita estándar de Cloud Logging.

Si deseas obtener más información sobre el crédito en las métricas de Cloud Logging, comunícate con Ventas para conocer los precios.

Cómo funcionan Prometheus y Grafana en GKE On-Prem

Cada clúster de GKE On-Prem se crea con una instancia de Prometheus y Grafana implementada de forma predeterminada.

El servidor de Prometheus se establece en una configuración con alta disponibilidad con dos réplicas que se ejecutan en dos nodos independientes. Los requisitos de los recursos se ajustan para admitir clústeres que ejecuten hasta cinco nodos, cada uno de los cuales maneja hasta 30 pods que entregan métricas personalizadas. Prometheus tiene un PersistentVolume dedicado con espacio en disco asignado de forma previa para almacenar datos durante un período de retención de cuatro días, además de un búfer de seguridad adicional.

El plano de control de administrador y cada clúster de usuario tienen una pila de supervisión dedicada que puedes configurar de forma independiente. Cada clúster de administrador y usuario incluye una pila de supervisión que ofrece un conjunto completo de funciones: servidor de Prometheus para la supervisión, Grafana para la observabilidad y Alertmanager de Prometheus para las alertas.

Todos los extremos de supervisión, los datos de métricas transferidas y las API de supervisión se protegen con componentes de Istio mediante reglas de mTLS y RBAC. El acceso a los datos de supervisión se limita solo a los administradores del clúster.

Métricas recopiladas mediante Prometheus

Prometheus recopila los siguientes metadatos y métricas del plano de control de administrador y los clústeres de usuario:

  • El uso de los recursos, como el uso de CPU en los pods y los nodos
  • Las métricas del plano de control de Kubernetes
  • Las métricas de los complementos y los componentes del sistema de Kubernetes que se ejecutan en nodos, como kubelet
  • El estado del clúster, como el estado de los pods en un objeto Deployment
  • Las métricas de la aplicación
  • Las métricas de la máquina, como la red, la entropía y los inodos

Supervisión de varios clústeres

La instancia de Prometheus y Grafana instalada en el clúster de administrador se configura de forma especial para proporcionar estadísticas de toda la instancia de GKE On-Prem, lo que incluye el clúster de administrador y cada clúster de usuario. Esto te permite hacer lo siguiente:

  • Usar un panel de Grafana para acceder a las métricas de todos los clústeres de usuario y de administrador
  • Ver las métricas de clústeres de usuario individuales en los paneles de Grafana, las cuales están disponibles para realizar consultas directas con resolución completa
  • Acceder a las métricas de nivel de nodo y de carga de trabajo de los clústeres de usuario para obtener consultas agregadas, paneles y alertas (las métricas de cargas de trabajo se limitan a las cargas de trabajo que se ejecutan en el espacio de nombres de kube-system)
  • Configurar alertas para clústeres específicos