En esta página se explica cómo usar Pub/Sub para recibir notificaciones sobre tus clústeres de Google Kubernetes Engine (GKE).
De forma predeterminada, GKE envía estas notificaciones a Cloud Logging. Puedes usar todas las funciones de Cloud Logging, como consultar y ver registros, y configurar políticas de alertas basadas en registros. Para encontrar estos registros en Cloud Logging, consulta Ver notificaciones de clúster en Cloud Logging.
Información general
Cuando se producen determinados eventos que son relevantes para tus clústeres de GKE, como actualizaciones programadas importantes o publicación de boletines de seguridad, GKE publica notificaciones de esos eventos como mensajes a temas Pub/Sub que configures. Puedes recibirlas en una suscripción de Pub/Sub, integrarte con servicios de terceros y filtrar los tipos de notificaciones que quieras recibir.
Para obtener más información sobre las ventajas de las notificaciones de clústeres, cómo funcionan y por qué es importante filtrarlas, consulta el artículo Notificaciones de clústeres. Puedes configurar notificaciones de clústeres en clústeres Standard nuevos y ya creados, así como en clústeres Autopilot ya creados.
Antes de empezar
Antes de empezar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si quieres usar Google Cloud CLI para esta tarea, instálala y, a continuación, inicialízala. Si ya has instalado la gcloud CLI, obtén la versión más reciente ejecutando
gcloud components update
.
- Crea un tema de Pub/Sub. Puedes crear un tema en el proyecto de tu clúster o en otro proyecto de tu organización.
Permisos para las notificaciones de clústeres entre proyectos
Para usar un tema de Pub/Sub de un proyecto distinto al de tu clúster, concede los siguientes roles del proyecto del tema a la cuenta de servicio service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
en el proyecto del clúster:
Habilitar las notificaciones de clúster en un clúster nuevo
Puedes habilitar las notificaciones de clústeres de GKE en un nuevo clúster estándar mediante la interfaz de línea de comandos de Google Cloud o la Google Cloud consola. Para habilitar las notificaciones en clústeres de Autopilot, primero debes crear un clúster de Autopilot y, a continuación, actualizar el clúster para que use las notificaciones de clúster.
Puedes crear un tema para todos los clústeres o varios temas para grupos de clústeres.
gcloud
Para habilitar las notificaciones de clúster en un clúster nuevo, ejecuta el siguiente comando:
gcloud container clusters create CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre del nuevo clúster.CONTROL_PLANE_LOCATION
: la ubicación de Compute Engine del plano de control de tu clúster. Proporciona una región para los clústeres regionales o una zona para los clústeres zonales.TOPIC_PROJECT_ID
: el ID de proyecto del proyecto de tu tema de Pub/Sub. Google Cloud Si el proyecto del tema es diferente del proyecto del clúster, asegúrate de haber concedido los permisos necesarios. Para obtener más información, consulta Permisos para notificaciones de clústeres entre proyectos.TOPIC_NAME
: el nombre de tu tema de Pub/Sub.NOTIFICATION_TYPE
: lista delimitada por barras verticales (|) de los tipos de notificación que quieres recibir. Por ejemplo,filter="UpgradeEvent|SecurityBulletinEvent"
solo envía notificacionesUpgradeEvent
ySecurityBulletinEvent
, ignorando todos los demás tipos.
Consola
Para habilitar las notificaciones de clúster en un clúster estándar nuevo, haz lo siguiente:
En la Google Cloud consola, ve a la página Crear un clúster de Kubernetes.
En el panel de navegación, en la sección Clúster, haz clic en Automatización.
Selecciona la casilla Habilitar notificaciones.
En la lista desplegable, selecciona el tema de Pub/Sub que has creado.
Para filtrar las notificaciones, marca la casilla Filtrar tipos de notificaciones y, a continuación, selecciona los tipos de notificaciones que quieras recibir.
Continúa configurando el clúster.
Haz clic en Crear.
Después de habilitar las notificaciones, elige el tipo de suscripción para tu tema.
Habilitar las notificaciones de clústeres en un clúster
Puedes habilitar las notificaciones de clústeres de GKE en un clúster que ya tengas con la CLI de Google Cloud o con la Google Cloud consola.
Puedes crear un tema para todos los clústeres o varios temas para grupos de clústeres.
gcloud
Para habilitar las notificaciones de clúster en un clúster, ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_NAME,filter=NOTIFICATION_TYPE
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre de tu clúster.CONTROL_PLANE_LOCATION
: la ubicación de Compute Engine del plano de control de tu clúster. Proporciona una región para los clústeres regionales o una zona para los clústeres zonales.TOPIC_PROJECT_ID
: el ID de proyecto del proyecto de tu tema de Pub/Sub. Google Cloud Si el proyecto del tema es diferente del proyecto del clúster, asegúrate de haber concedido los permisos necesarios. Para obtener más información, consulta Permisos para notificaciones de clústeres entre proyectos.TOPIC_NAME
: el nombre de tu tema de Pub/Sub.NOTIFICATION_TYPE
: lista delimitada por barras verticales (|) de los tipos de notificación que quieres recibir. Por ejemplo,filter="UpgradeEvent|SecurityBulletinEvent"
solo envía notificacionesUpgradeEvent
ySecurityBulletinEvent
, ignorando todos los demás tipos.
Consola
Para habilitar las notificaciones de clúster en un clúster, haz lo siguiente:
Ve a la página Google Kubernetes Engine en la Google Cloud consola.
Haz clic en el nombre del clúster que quieras modificar.
En la sección Automatización, junto a Notificaciones, haz clic en
Editar notificaciones.En el cuadro de diálogo Editar notificaciones, marca la casilla Habilitar notificaciones.
En la lista desplegable, selecciona el tema de Pub/Sub que has creado.
Para filtrar las notificaciones, marca la casilla Filtrar tipos de notificaciones y, a continuación, selecciona los tipos de notificaciones que quieras recibir.
Haz clic en Guardar cambios.
Después de habilitar las notificaciones, elige el tipo de suscripción para tu tema.
Filtrar notificaciones de clústeres
Puedes filtrar las notificaciones por tipo de notificación para asegurarte de que recibes las que quieres.
Puedes filtrar las notificaciones de las siguientes formas:
- GKE especifica los valores de
filter
en la marca--notification-config
como se muestra en los ejemplos anteriores para habilitar las notificaciones del clúster. - Pub/Sub: configura tu suscripción de Pub/Sub para filtrar mensajes cuando crees una suscripción.
Modificar filtros en GKE
Para modificar los filtros de notificaciones de un clúster de GKE, sigue las instrucciones de la sección Habilitar las notificaciones en un clúster y especifica los nuevos tipos de notificaciones que quieras filtrar en el comando gcloud
o selecciona los nuevos tipos en la consola Google Cloud .
Inhabilitar filtros en GKE
Puedes inhabilitar los filtros de notificaciones de GKE y recibir todos los tipos de notificaciones aplicables a tu clúster mediante la CLI de gcloud o la consola de Google Cloud .
gcloud
Para inhabilitar los filtros con la CLI de gcloud, ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=ENABLED,pubsub-topic=projects/TOPIC_PROJECT_ID/topics/TOPIC_NAME
Consola
Para inhabilitar los filtros mediante la Google Cloud consola, haz lo siguiente:
Ve a la página Google Kubernetes Engine en la Google Cloud consola.
Haz clic en el nombre del clúster que quieras modificar.
En la sección Automatización, junto a Notificaciones, haz clic en
Editar notificaciones.En el cuadro de diálogo Editar notificaciones, desmarca la casilla Filtrar tipos de notificaciones.
Haz clic en Guardar cambios.
Verificar la configuración de las notificaciones de clúster
En el modo Autopilot, puedes verificar las notificaciones del clúster de la siguiente manera:
- Inicia una actualización del plano de control.
- Espera a que GKE actualice automáticamente tus nodos a la nueva versión. El tiempo necesario puede variar en función de las ventanas de mantenimiento y las exclusiones configuradas.
- Una vez que GKE haya actualizado tus nodos, comprueba tu suscripción a Pub/Sub.
En el modo Estándar, puedes verificar las notificaciones de clúster de la siguiente manera:
Actualiza un grupo de nodos específico a una nueva versión. Si no quieres cambiar la versión de GKE de tus nodos, puedes actualizar a la misma versión que tienen los nodos.
Una vez que GKE haya actualizado tus nodos, comprueba tu suscripción a Pub/Sub.
Solo puedes verificar la configuración manualmente para el tipo de notificación UpgradeEvent
. Si tus filtros están configurados para ignorar este tipo, no verás ningún mensaje.
Inhabilitar las notificaciones de clústeres
Puedes inhabilitar las notificaciones de clústeres con la CLI de gcloud o la consola.Google Cloud
gcloud
Para inhabilitar las notificaciones mediante gcloud CLI, ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--notification-config=pubsub=DISABLED
Consola
Para inhabilitar las notificaciones mediante la consola Google Cloud , sigue estos pasos:
Ve a la página Google Kubernetes Engine en la Google Cloud consola.
Haz clic en el nombre del clúster que quieras modificar.
En la sección Automatización, junto a Notificaciones, haz clic en
Editar notificaciones.En el cuadro de diálogo Editar notificaciones, desmarca la casilla Habilitar notificaciones.
Haz clic en Guardar cambios.
También puedes eliminar el tema de Pub/Sub que has creado para las notificaciones.
Siguientes pasos
- Consulta más información sobre las notificaciones de clústeres.
- Consulta información sobre cómo configurar notificaciones de Pub/Sub.
- Consulta cómo configurar notificaciones de clústeres para servicios de terceros.