Configurar operaciones de la nube para GKE

Google Kubernetes Engine (GKE) incluye integración en Cloud Logging y Cloud Monitoring, incluido el Servicio administrado de Google Cloud para Prometheus. Esta integración te permite supervisar tus clústeres de GKE en ejecución, administrar tu sistema y los registros de depuración y analizar el rendimiento del sistema mediante funciones avanzadas de perfilado y seguimiento. En esta integración, también se proporciona un panel sofisticado de GKE para observar tus clústeres.

En esta página, se describe cómo hacer lo siguiente:

  • Crea un clúster nuevo y configura Cloud Logging, Cloud Monitoring y el servicio administrado para Prometheus.

  • Selecciona qué registros y métricas se recopilarán.

  • Inhabilita Cloud Logging, Cloud Monitoring y el servicio administrado para Prometheus en un clúster.

Antes de comenzar

Registros disponibles

Tienes la opción de enviar o no registros de tu clúster de GKE a Cloud Logging. Si eliges enviar registros a Cloud Logging, debes enviar registros del sistema y, de forma opcional, enviar registros desde fuentes adicionales.

Obtén información sobre los precios de Cloud Logging, incluidas las prácticas recomendadas y las herramientas para optimizar el costo de los registros.

En la siguiente tabla, se indican los valores admitidos para la marca --logging en los comandos create y update.

Fuente del archivo de registro ¿Está habilitado de forma predeterminada cuando se crea un clúster? --logging Valor Registros recopilados
Ninguna No NONE No se enviaron registros a Cloud Logging. No hay agentes de recopilación de registros instalados en el clúster. Este valor no es compatible con los clústeres de GKE Autopilot.
Sistema SYSTEM Recopila los siguientes registros:
  • Todos los Pods que se ejecutan en los espacios de nombres kube-system, istio-system, knative-serving, gke-system y config-management-system.
  • Servicios clave que no están alojados en contenedores, incluidos el entorno de ejecución docker/containerd, kubelet, kubelet-monitor, node-problem-detector y kube-container-runtime-monitor.
  • La salida de los puertos en serie del nodo, si los metadatos de la instancia de VM serial-port-logging-enable se configuran como verdaderos.
Carga de trabajo WORKLOAD Todos los registros generados por contenedores que no son del sistema y que se ejecutan en nodos de usuario

Métricas disponibles

Tienes la opción de enviar métricas desde tu clúster de GKE a Cloud Monitoring. Si eliges enviar métricas a Cloud Monitoring, debes enviar métricas del sistema y, de forma opcional, enviar métricas adicionales.

Obtén información sobre los precios de Cloud Monitoring, incluidas las métricas que no son cobrables.

En la siguiente tabla, se indican los valores admitidos para la marca --monitoring en los comandos create y update.

Origen ¿Está habilitado de forma predeterminada cuando se crea un clúster? --monitoring Valor Métricas recopiladas
Ninguna No NONE No se enviaron métricas a Cloud Monitoring. No hay ningún agente de recopilación de métricas instalado en el clúster. Este valor no es compatible con los clústeres de GKE Autopilot.
Sistema SYSTEM Métricas de los componentes esenciales del sistema que se requieren para la funcionalidad de Kubernetes. Consulta una lista completa de estas métricas de Kubernetes.
Carga de trabajo No WORKLOAD (Obsoleto) Habilita una canalización completamente administrada capaz de recopilar métricas de estilo Prometheus que expone cualquier carga de trabajo de GKE. Debes configurar las métricas que recopilarás mediante la implementación de un recurso personalizado PodMonitor.

Además, puedes recopilar métricas de estilo Prometheus que expone cualquier carga de trabajo de GKE mediante Google Cloud Managed Service para Prometheus, que te permite supervisar y generar alertas sobre tus cargas de trabajo mediante Prometheus, sin tener que administrar y operar Prometheus de forma manual a gran escala.

Configura la asistencia de Monitoring y Logging para un clúster nuevo

Las instrucciones de creación de clústeres en esta sección solo abarcan las opciones relevantes para Cloud Logging y Cloud Monitoring. Para obtener instrucciones completas sobre cómo crear un clúster de GKE, consulta Crea un clúster.

CONSOLE

  1. Ve a la página de Clústeres de GKE para tu proyecto. El siguiente botón te lleva allí:

    Ir a Clústeres de Kubernetes

  2. Haz clic en Crear clúster.

  3. En el panel de navegación, en Clúster, haz clic en Funciones.

  4. En Operaciones, selecciona los registros y las métricas que deseas recopilar.

    • Para los clústeres nuevos, Cloud Logging y Cloud Monitoring están habilitados de forma predeterminada.

    • Para inhabilitar Cloud Logging, desmarca la casilla de verificación Habilitar Cloud Logging.

    • Para inhabilitar Cloud Monitoring, desmarca la casilla de verificación Habilitar Cloud Monitoring.

    • Si deseas habilitar el servicio administrado para Prometheus, selecciona la casilla de verificación Habilitar el servicio administrado para Prometheus (requiere la versión 1.21.4-gke.300 o una posterior). Con esta casilla de verificación, se habilita el colector administrado, que se debe configurar.

  5. Haga clic en Crear.

GCLOUD

Usa gcloud para crear tu clúster:

  1. Abre una ventana de la terminal con la CLI de Google Cloud. Una forma de hacerlo es mediante Cloud Shell:

  2. En Cloud Console, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de Cloud Console, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  3. Para los clústeres nuevos, Cloud Logging y Cloud Monitoring están habilitados de forma predeterminada. Para crear tu clúster, ejecuta el siguiente comando:

    gcloud container clusters create [CLUSTER_NAME] \
      --zone=[ZONE] \
      --project=[PROJECT_ID]
    

    En la expresión anterior, [CLUSTER_NAME] es el nombre del clúster, [ZONE] es la zona de procesamiento del clúster y [PROJECT_ID] es el ID del proyecto de Google Cloud, no el nombre del proyecto.

    1. Como alternativa, puedes configurar qué registros se envían a Cloud Logging si pasas una lista de valores separados por comas a la marca --logging del comando create. Para no recopilar registros, pasa --logging=NONE. Para recopilar registros del sistema y de las cargas de trabajo, pasa --logging=SYSTEM,WORKLOAD. Para recopilar solo los registros del sistema, pasa --logging=SYSTEM. Por ejemplo:

      gcloud container clusters create [CLUSTER_NAME] \
        --zone=[ZONE] \
        --project=[PROJECT_ID] \
        --logging=SYSTEM
      
    2. De manera similar, puedes configurar qué métricas se envían a Cloud Monitoring si pasas una lista de valores separados por comas a la marca --monitoring del comando create. Para no recopilar métricas, pasa --monitoring=NONE. Para recopilar métricas del sistema, pasa --monitoring=SYSTEM. Por ejemplo:

      gcloud container clusters create [CLUSTER_NAME] \
        --zone=[ZONE] \
        --project=[PROJECT_ID] \
        --monitoring=SYSTEM
      
    3. Por separado, puedes habilitar el servicio administrado para Prometheus mediante la marca --enable-managed-prometheus. Por ejemplo:

      gcloud container clusters create [CLUSTER_NAME] \
        --zone=[ZONE] \
        --project=[PROJECT_ID] \
        --enable-managed-prometheus
      

Configura la asistencia de Monitoring y Logging para un clúster existente

En la siguiente sección, se detalla cómo modificar la integración de Cloud Logging y Cloud Monitoring para un clúster de GKE existente.

¿Qué tipo de asistencia de Monitoring y Logging usa mi clúster?

Para ver la configuración de integración de Cloud Logging y Cloud Monitoring en tu clúster, sigue estos pasos:

  1. En la consola de Google Cloud, haz clic en el nombre de tu clúster:

    Ir a Clústeres de Kubernetes

  2. En el panel Detalles del clúster, consulta el estado de Cloud Logging, Cloud Monitoring y el Servicio administrado para Prometheus.

Modifica tu clúster

Para cambiar la configuración de la integración de Cloud Logging o Cloud Monitoring en un clúster existente, sigue estos pasos:

CONSOLE

  1. Ve a la página de Clústeres de Kubernetes (Kubernetes clusters) de GKE de tu proyecto:

    Ir a Clústeres de Kubernetes

  2. Haz clic en el nombre de tu clúster.

  3. Para modificar qué registros se envían a Cloud Logging, qué métricas se envían a Cloud Monitoring o si el servicio administrado para Prometheus está habilitado, haz clic en Editar junto a Cloud Logging, Cloud Monitoring o un servicio administrado para Prometheus.

  4. Después de cambiar la configuración de Cloud Logging, Cloud Monitoring o el servicio administrado de Prometheus, haz clic en Guardar.

GCLOUD

En las siguientes instrucciones de gcloud, se trata la actualización de la asistencia de Monitoring y Logging del clúster mediante el comando gcloud container clusters update. Ten en cuenta que usas el comando update, no el comando upgrade.

  1. Abre una ventana de la terminal con la CLI de gcloud instalada. Una forma de hacerlo es mediante Cloud Shell.

  2. En Cloud Console, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de Cloud Console, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  3. Si aún no lo hiciste, configura los valores predeterminados para tu clúster en la CLI de gcloud:

    gcloud config set project [PROJECT_ID]
    
  4. Para configurar qué registros se envían a Cloud Logging, pasa una lista de valores separados por comas a la marca --logging del comando gcloud container clusters update. Consulta una lista completa de las fuentes de registros disponibles. Por ejemplo, para recopilar registros del sistema y de la carga de trabajo, pasa --logging=SYSTEM,WORKLOAD. Para recopilar solo los registros del sistema, pasa --logging=SYSTEM. O bien, para no recopilar registros, pasa --logging=NONE:

        gcloud container clusters update [CLUSTER_NAME] \
          --zone=[ZONE] \
          --logging=NONE
    
  5. Para configurar qué métricas se envían a Cloud Monitoring, pasa una lista de valores separados por comas a la marca --monitoring del comando gcloud container clusters update. Consulta una lista completa de fuentes de métricas disponibles. Por ejemplo, para recopilar métricas del sistema, pasa --monitoring=SYSTEM. O bien, para no recopilar métricas, pasa --monitoring=NONE:

        gcloud container clusters update [CLUSTER_NAME] \
          --zone=[ZONE] \
          --monitoring=NONE
    
  6. Configura si el servicio administrado para Prometheus se habilita mediante las marcas --enable-managed-prometheus o --disable-managed-prometheus. Por ejemplo:

        gcloud container clusters update [CLUSTER_NAME] \
          --zone=[ZONE] \
          --enable-managed-prometheus
    

Parámetros de configuración obsoletos

Si ya usaste los parámetros de configuración anteriores a fin de configurar la asistencia de Logging y Monitoring para el clúster de GKE, esos parámetros estarán obsoletos. En la siguiente tabla, se muestran los parámetros de configuración equivalentes para reemplazar las marcas obsoletas.

Configuración anterior Argumentos create antiguos Argumentos update antiguos Argumentos create y update nuevos
Inhabilitado --no-enable-stackdriver-kubernetes --no-enable-stackdriver-kubernetes --logging=NONE
--monitoring=NONE
Solo supervisión del sistema (Logging inhabilitado) --enable-stackdriver-kubernetes
--no-enable-cloud-logging
--logging-service=none
--monitoring-service=monitoring.googleapis.com/kubernetes
--logging=NONE
--monitoring=SYSTEM
Solo registro del sistema y cargas de trabajo (Monitoring inhabilitado) --enable-stackdriver-kubernetes
--no-enable-cloud-monitoring
--logging-service=logging.googleapis.com/kubernetes
--monitoring-service=none
--logging=SYSTEM,WORKLOAD
--monitoring=NONE
Solo registro y supervisión del sistema (Beta) --enable-logging-monitoring-system-only --enable-logging-monitoring-system-only --logging=SYSTEM
--monitoring=SYSTEM
Registros y supervisión del sistema y la carga de trabajo --enable-stackdriver-kubernetes --enable-stackdriver-kubernetes --logging=SYSTEM,WORKLOAD
--monitoring=SYSTEM

¿Qué sigue?

  • Obtén información sobre los costos asociados con Cloud Logging, Cloud Monitoring y el servicio administrado para Prometheus en la página Precios.