Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Troubleshooting de Google Kubernetes Engine, más simple con playbooks interactivos

By Chimbu ChinnaduraiSep 12, 20233 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

Foto de Marta Sher en Shutterstock

En la gestión moderna de aplicaciones, Kubernetes es la base de la orquestación de contenedores. Automatiza el despliegue, el escalado y la administración del software, y revoluciona la forma de entregarlo. Sin embargo, su creciente complejidad y escala plantean retos al momento de hacer troubleshooting y mantener ecosistemas dinámicos.

El troubleshooting en Kubernetes es complejo por varios factores. La arquitectura del cluster está compuesta por múltiples componentes que trabajan en conjunto: pods, servicios, configuraciones y networking. Estos componentes suelen interactuar de formas impredecibles, lo que dificulta identificar la causa raíz de un problema.

A esto se suma que los workloads de Kubernetes evolucionan constantemente para responder a demandas cambiantes, lo que genera problemas transitorios difíciles de diagnosticar en tiempo real. Los métodos tradicionales de troubleshooting requieren investigación manual, revisión de logs, métricas y configuraciones en distintos componentes; un proceso lento y propenso a errores.

Aquí es donde entran en juego los playbooks interactivos dentro de Google Kubernetes Engine (GKE). Con ellos, GKE ofrece una guía estructurada y paso a paso para resolver problemas comunes, lo que ayuda a solucionarlos rápido y a mejorar el Mean Time to Resolution (MTTR).

Los playbooks están disponibles en los dashboards de monitoreo de GCP y se agregan automáticamente al desplegar el primer workload en el cluster. Abajo encontrarás la lista de playbooks interactivos disponibles, y puedes consultar las notas de versión de GKE para conocer los nuevos anuncios.

Captura de GCP Monitoring -> Dashboards

El playbook interactivo utiliza datos de cloud monitoring y cloud logging, así que asegúrate de no haber deshabilitado la recolección de logs para los workloads en el cluster estándar de GKE (viene habilitada por defecto en los clusters autopilot).

El playbook interactivo en acción

  • Despliega en el cluster un workload defectuoso que falle al iniciar por problemas de configuración.
kubectl run sample-app --image simbu1290/gke-faulty-app:latest
  • Revisa el estado del workload en la consola.

Estado del workload

  • Haz clic en el estado CrashLoopBackOff de la sample app y aparecerá una pantalla con detalles adicionales. En la sección de recomendaciones verás el playbook interactivo asociado al error.

  • Haz clic en View Interactive Playbook y se abrirá el dashboard del playbook en GCP Monitoring. Allí encontrarás más detalles sobre el error y los siguientes pasos para identificar la posible causa raíz.

Vista general del playbook interactivo

Error de la aplicación de ejemplo que afecta el arranque del contenedor

También puedes detectar rápidamente otras causas de fallos con las opciones de out-of-memory y liveness probe disponibles en el dashboard. La función Correlate Change Events es una forma ágil de ver si algún cambio reciente en los despliegues pudo haber afectado tu workload. Luego puedes comparar la versión actual con la anterior para identificar el origen del problema.

Este dashboard es personalizable: puedes agregar o quitar componentes según lo que necesites. Y si usas el sistema de alertas de GCP, puedes crear alertas desde la sección Future Mitigation Tips.

Ejemplo de configuración de política de alerta por correo

La notificación de alerta incluye los detalles del workload afectado y el enlace al dashboard interactivo, para que puedas empezar el troubleshooting de inmediato.

Ejemplo de notificación de alerta por correo

En resumen, con la llegada de los playbooks interactivos recomendados, el equipo de GKE busca simplificar el troubleshooting de los problemas más comunes y, en última instancia, maximizar la productividad. Si bien los playbooks interactivos de GKE aportan una guía estructurada de gran valor para resolver incidencias, hay escenarios en los que consultar a una persona con experiencia especializada sigue siendo indispensable.

Troubleshooting de Google Kubernetes Engine con Playbooks