Compartir a través de


Supervisión en Azure Kubernetes Services

Sugerencia

Este contenido es un extracto del libro electrónico, Arquitectura de aplicaciones .NET nativas de nube para Azure, disponible en .NET Docs o como un PDF descargable gratuito que se puede leer sin conexión.

Miniatura de la portada del libro electrónico

El registro integrado en Kubernetes es primitivo. Sin embargo, hay algunas opciones excelentes para extraer los registros de Kubernetes a un lugar donde se pueden analizar correctamente. Si necesita supervisar los clústeres de AKS, la configuración de Elastic Stack para Kubernetes es una excelente solución.

Azure Monitor para contenedores

Azure Monitor para contenedores admite el consumo de registros desde no solo Kubernetes, sino también desde otros motores de orquestación, como DC/OS, Docker Swarm y Red Hat OpenShift.

Consumo de registros de varios contenedores Figura 7-10. Consumo de registros de varios contenedores

Prometheus es una conocida solución de supervisión de métricas de código abierto. Forma parte de Cloud Native Compute Foundation. Normalmente, el uso de Prometheus requiere administrar un servidor de Prometheus con su propio almacén. Sin embargo, Azure Monitor para contenedores proporciona integración directa con puntos de conexión de métricas de Prometheus, por lo que no se requiere un servidor independiente.

La información de registro y métrica se recopila no solo de los contenedores que se ejecutan en el clúster, sino también de los propios hosts del clúster. Permite correlacionar la información del registro de los dos, lo que facilita mucho el seguimiento de un error.

La instalación de los recopiladores de registros difiere en los clústeres de Windows y Linux . Pero en ambos casos, la recopilación de registros se implementa como un DaemonSet de Kubernetes, lo que significa que el recopilador de registros se ejecuta como un contenedor en cada uno de los nodos.

Independientemente del orquestador o sistema operativo que ejecute el demonio de Azure Monitor, la información de registro se reenvía a las mismas herramientas de Azure Monitor con las que los usuarios están familiarizados. Este enfoque garantiza una experiencia paralela en entornos que combinan orígenes de registro diferentes, como un entorno híbrido de Kubernetes o Azure Functions.

Un panel de ejemplo que muestra la información de registro y métricas de una serie de contenedores en ejecución. Figura 7-11. Panel de ejemplo que muestra información de registro y métricas de muchos contenedores en ejecución.

Log.Finalize()

El registro es una de las partes más pasadas por alto y, sin embargo, más importantes de la implementación de cualquier aplicación a escala. A medida que aumenta el tamaño y la complejidad de las aplicaciones, también aumenta la dificultad de depurarlas. Tener registros de alta calidad disponibles hace que la depuración sea mucho más fácil y la transforma de algo "casi imposible" en "una experiencia agradable".