Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En DevOps Última actualización: 15 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Elija la herramienta adecuada para supervisar con éxito Kubernetes.

Kubernetes es una plataforma de código abierto lista para la producción, diseñada con la experiencia adquirida por Google en la orquestación de contenedores, asociada a las mejores ideas del público. Su objetivo es automatizar el despliegue, el escalado y el funcionamiento de los contenedores de aplicaciones.

Con la forma moderna de crear y ejecutar aplicaciones, sus estrategias de control y observabilidad deben avanzar, al igual que las herramientas que utiliza. Las tradicionales herramientas de supervisión de infraestructuras puede no ser suficiente, y se necesita un sistema especializado de monitorización de Kubernetes, como se indica a continuación.

Algunos ayudan con registros y otros con métricas. Algunos ofrecen una interfaz para operar Kubernetes a vista de pájaro. Algunas son nativas de Kubernetes, mientras que otras son más agnósticas.

Exploremos las siguientes herramientas para supervisar Kubernetes.

Prometheus + Grafana

Prometeo es una de las herramientas de monitorización más populares y mejor utilizadas con Kubernetes. Esta herramienta fue desarrollada por SoundCloud y posteriormente donada al CNCF. Google Borg Monitor la inspira.

Pues bien, Prometheus almacena todos sus datos como una secuencia temporal. En pocas palabras, lo que hace que Prometheus destaque entre otros bases de datos de series temporales son sus mecanismos de alerta integrados, el modelo de datos multidimensional, el modelo pull vs. push, PromQL (el lenguaje de consulta de Prometheus) y, por supuesto, la creciente comunidad.

Algunas características más de Prometheus incluyen:

  • Sin dependencia del almacenamiento distribuido;
  • Los objetivos se descubren mediante el descubrimiento de servicios o la configuración estática.
  • PromQL, un lenguaje de consulta flexible para aprovechar esta dimensionalidad
  • Los nodos de servidor único son autónomos
  • La recopilación de series temporales se realiza mediante un modelo pull a través de HTTP
  • El envío de series temporales se realiza a través de una pasarela intermedia
  • Un modelo de datos multidimensional con datos de series temporales analizados por nombre de métrica y pares clave/valor.
  • Y, múltiples formas de soporte de gráficos y cuadros de mando.

La mejor manera de aprender Prometheus es instálelo en su servidor de desarrollo y juega con él. Tienen una gran documentación, pero si estás buscando aprendizaje basado en vídeo, echa un vistazo a esto Curso Udemy.

Puede utilizar Kube Prometeoque ofrece supervisión de clústeres de extremo a extremo. También puede utilizar Métricas de estado de Kube para exponer el estado de los objetos.

Y para visualizar los datos, puede utilizar Grafana.

Grafana se utiliza para visualizar métricas, pero también como herramienta de alerta. Grafana puede emitir una alerta en Slack, webhook, correo o canales de comunicación alternativos. Otra razón clave es la fuente de sus datos: Grafana puede consultar varias entidades simultáneamente.

Puedes consultar las métricas de Prometheus desde Grafana y visualizarlas, crear un cuadro de mando y configurar las alertas que necesites. Grafana dispone de un plugin para Kubernetes y obtuve un hermoso salpicadero.

Combinando Prometheus y Grafana, puedes conseguir un gran nivel de monitorización de Kubernetes para tu sistema de producción.

Checkmk

La última versión de Checkmk incluye una monitorización de Kubernetes completamente renovada, que permite analizar y monitorizar al instante las interrelaciones dinámicas de las infraestructuras de contenedores. Esto proporciona una supervisión en profundidad de todos sus objetos Kubernetes y es muy fácil de usar.

No necesita experiencia previa con infraestructuras dinámicas y puede configurar la monitorización de Kubernetes en cuestión de minutos. Checkmk añade automáticamente todos sus objetos de Kubernetes y puede supervisar activos de Kubernetes como clústeres, códigos, despliegues, pods, volúmenes, espacios de nombres, daemonSets y statefulSets.

La monitorización proporciona todos los datos relevantes en cuadros de mando preconfigurados. Esto le permite detectar cuellos de botella y anomalías en el consumo de recursos en cuestión de minutos. También puede crear sus propias vistas personalizadas. Navegue por múltiples vistas simplemente haciendo clic en los distintos elementos.

checkmk-kubernetes-monitoring

La forma más sencilla de desplegar Checkmk en Kubernetes es utilizar un repositorio helm. tribe29 proporciona un repositorio plantilla que los usuarios pueden adaptar a su propio entorno. Puede seguir este tutorial de vídeo para Kubernetes y empezar con un prueba gratuita de Checkmk Enterprise Edition.

Por supuesto, Checkmk no se detiene ahí. Con más de 2.000 plug-ins listos para usar, puede supervisar cualquier aspecto de su infraestructura de TI con una sola herramienta. Llegue al fondo de los problemas y analice la interrelación de su sistema host Kubernetes y sus contenedores orquestados, por ejemplo. Con Checkmk, obtendrá información detallada sobre la CPU, la memoria, el ancho de banda de la red y otras métricas.

La visualización de datos y la comunicación de alertas se adaptan a los requisitos de equipos diversos. Checkmk también puede integrarse con otras herramientas de supervisión como Prometheus, ntop o Datadog. Tendrá toda la información en un solo lugar y podrá asegurarse de que los conocimientos se compartan automáticamente.

checkmk-kubernetes-monitoring-2

Algunas de las otras características de Checkmk incluyen:

  • Alertas inteligentes que comprenden las capacidades de autorreparación de Kubernetes y destacan las condiciones críticas sólo cuando es realmente necesario actuar.
  • Potente Colector de clústeres Kubernetes para obtener todos los datos que necesita
  • Admite el cifrado TLS para proteger la supervisión.

Checkmk es extremadamente escalable gracias a su núcleo de supervisión de alto rendimiento y a su capacidad para soportar la supervisión distribuida.

Kubewatch

Kubewatch es un observador de Kubernetes que publica notificaciones de eventos en un canal de Slack. Esta herramienta le proporciona la facilidad de determinar los recursos que necesita monitorizar. Está creada en Golang y utiliza una librería cliente de Kubernetes para conectarse con un servidor API de Kubernetes. Esta biblioteca sirve de base para la vigilancia de eventos de Kubernetes.

kubewatch es fácil de configurar y puede desplegarse utilizando helm o system deployment. Más claramente, kubewatch verá los cambios necesarios en los recursos específicos de Kubernetes que desee que vigile: despliegues, conjuntos de demonios, pods, servicios, conjuntos de réplicas, servicios, controladores de replicación, secretos y mapas de configuración.

Jaeger

El rastreo distribuido está creciendo constantemente en la monitorización y resolución de problemas de entornos Kubernetes.  Jaeger es un sistema de rastreo publicado por Uber Technologies. Se utiliza para monitorizar transacciones y solucionar problemas en sistemas distribuidos complejos.

Jaeger cuenta con instrumentación basada en OpenTracing para Java, Python, Node y C++. Utiliza un muestreo inicial coherente con probabilidades individuales por servicio/punto final y admite varios backends de almacenamiento: Cassandra, Elasticsearch, Kafka y memoria.

Algunas de las otras características de Jaeger incluyen:

  • Supervisión de transacciones distribuidas
  • Propagación distribuida del contexto
  • Optimización del rendimiento y la latencia
  • Análisis de las causas
  • Análisis de la dependencia de los servicios

cAdvisor

cAdvisor está diseñado para reunir, procesar y exportar información sobre el uso de recursos y la producción de contenedores en ejecución. También está desarrollado en Kubernetes e integrado en el binario Kubelet. Es fácil de usar (expone las métricas de Prometheus desde el principio), pero no lo suficientemente robusto como para ser reconocido como una solución de monitorización completa.

A diferencia de otros, cAdvisor no se despliega por pod, sino a nivel de nodo. Determinará automáticamente todos los contenedores que se ejecutan en un sistema y recopila métricas del sistema como memoria, CPU, red, etc.

cAdvisor es una herramienta básica, y las siguientes son algunas de sus características.

  • Compatibilidad nativa con contenedores Docker y otros tipos de contenedores.
  • Soporta la exportación de las estadísticas a varios plugins de almacenamiento, ej. InfluxDB etc.,
  • Proporciona el uso general de la máquina analizando el contenedor "raíz" de la máquina.
  • Soporte para la ejecución independiente fuera del Docker o cualquier otro contenedor también.
  • cAdvisor funciona por nodo. Detecta automáticamente todos los contenedores del nodo en cuestión y recopila estadísticas de uso de la CPU, el sistema de archivos y la red. Puede ver las métricas en la Web-UI, que exporta información en tiempo real sobre todos los contenedores del sistema.

Telepresencia

Telepresencia le permite ejecutar un servicio concreto localmente mientras conecta ese servicio a un clúster Kubernetes remoto. Esto permite a los desarrolladores que trabajan en operaciones multiservicio adoptar cualquier herramienta instalada localmente para comprobar/depurar/editar su servicio. Por ejemplo, puede ejecutar un depurador o IDE.

También permite a los desarrolladores realizar un rápido desarrollo local de un servicio concreto, aunque ese servicio dependa de otros servicios del clúster. Realiza una transición en tu servicio, guarda y podrás ver al instante el nuevo servicio en acción.

Telepresence es un impresionante entorno de desarrollo local para servicios que se ejecutan en Kubernetes. La parte de depuración en vivo es única y está evolucionando muy rápidamente. A continuación se presentan algunas de sus más características.

  • Permitir que el código que se ejecuta en el contenedor se conecte a un IDE o depurador que se ejecuta en el host.
  • Telepresencia utiliza una imagen proxy específica de OpenShift cuando observa un clúster de OpenShift.
  • Telepresencia también admite el reenvío de tráfico hacia y desde otros contenedores del pod.
  • Telepresencia utiliza un directorio accesible desde Docker como directorio temporal.

Tejido Alcance

Tejido Alcance es una herramienta de resolución de problemas y monitorización para Kubernetes. Crea topologías lógicas de la aplicación y la infraestructura, lo que facilita el examen, la supervisión y el control de la aplicación basada en microservicios en contenedores.

Proporciona una visión descendente de su aplicación, así como de toda su infraestructura. Le autoriza a determinar cualquier problema con su aplicación distribuida en contenedores en tiempo real, a medida que se despliega en un proveedor en la nube.

Algunas de las características del Weave Scope incluyen:

  • Compatibilidad con cualquier estilo de despliegue (local, alojado o híbrido) y capacidad para recopilar e informar sobre métricas de host/contenedor.
  • Agregue métricas, eventos y etiquetas de Kubernetes
  • Métricas contextuales en tiempo real
  • Los nodos pueden filtrarse por la gestión de la CPU y la memoria para identificar rápidamente los contenedores que utilizan más recursos.

Zabbix

Con Zabbixes factible obtener del sistema tipos de datos prácticamente ilimitados. Sistemas de monitorización en tiempo real de alto rendimiento que pueden controlar decenas de miles de servidores, máquinas virtuales y dispositivos de red simultáneamente.

Además de guardar los datos, las funciones de visualización son formas accesibles y extremadamente flexibles de averiguar los datos para alarmarse.

Algunas de las características de Zabbix incluyen:

  • Análisis de las causas
  • Zabbix ayuda a mantener los datos en formato JSON, por lo que muchas aplicaciones también pueden utilizarlo.
  • Control en tiempo real
  • Zabbix proxy es muy recomendable para sistemas de producción a gran escala.
  • Informes detallados
  • El descubrimiento de bajo nivel comprueba automáticamente los nuevos nodos sin ninguna lucha.
  • Altamente configurable y ampliable.

Zabbix es importante y no sólo para Kubernetes, sino también para monitorizar la infraestructura y las métricas de las aplicaciones. Si usted está interesado en aprender Zabbix, a continuación, echa un vistazo a este curso brillante.

Panel de control de Kubernetes

No es exactamente una herramienta de control, pero Panel de control de Kubernetes es una interfaz de usuario de uso general para Kubernetes que permite gestionar y solucionar problemas del clúster Kubernetes.

panel de control de kubernetes

Si no tienes ninguna herramienta de monitorización, Dashboard sería un buen comienzo. Eche un vistazo a guía de instalación.

Conclusión

Elegir bien Herramientas Kubernetes es crucial. ¿Pero adivina qué? Above all está disponible GRATIS para probar, así que ¿por qué no darle una oportunidad para ver qué funciona para su monitorización de Kubernetes?

¡Feliz supervisión y resolución de problemas!

  • Chandan Kumar
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre DevOps
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba el lunes
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder