Compartir a través de


Supervisión en Azure Kubernetes Service

Sugerencia

Este contenido es un extracto del libro electrónico “Architecting Cloud Native .NET Applications for Azure” (Diseño de la arquitectura de aplicaciones .NET nativas en la nube para Azure), disponible en Documentos de .NET o como un PDF descargable y gratuito que se puede leer sin conexión.

Cloud Native .NET apps for Azure eBook cover thumbnail.

El registro integrado en Kubernetes es primitivo. Sin embargo, hay algunas buenas opciones para sacar los registros de Kubernetes y meterlos en un lugar donde se puedan analizar correctamente. Si necesita supervisar los clústeres de AKS, una buena solución es la configuración de Elastic Stack para Kubernetes.

Azure Monitor para contenedores

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

Consuming logs from various containersFigura 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 aparte.

La información de registros y métricas se recopila no solo de los contenedores que se ejecutan en el clúster, sino también de los propios hosts del clúster. Se puede correlacionar la información de 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 mezclan diferentes orígenes de registro, como un entorno híbrido de Kubernetes y Azure Functions.

A sample dashboard showing logging and metric information from a number of running containers.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 olvidadas y a la vez más importantes de la implementación de cualquier aplicación a gran escala. A medida que aumenta el tamaño y la complejidad de las aplicaciones, lo hace la dificultad de depurarlas. Tener registros de alta calidad disponibles hace que la depuración sea mucho más fácil y pasa a ser "casi imposible" a "una experiencia agradable".