Este artículo le presentará algunas herramientas impresionantes que se pueden acoplar a Kubernetes para añadirle más potencia.
Al trabajar en un ecosistema DevOps, te darás cuenta de lo importante que es contar con increíbles herramientas DevOps para aliviar tu carga manual. Hay un montón de herramientas de DevOps disponibles para cada etapa de DevOps y diferentes funcionalidades.
Kubernetes es una de las herramientas imprescindibles si trabajas en el ámbito de DevOps y ejecutas tus aplicaciones dentro de contenedores. Existen cientos de herramientas que trabajan conjuntamente con Kubernetes para añadir más funcionalidades. Me refiero a herramientas para mejorar la gestión, la seguridad, el panel de control y la supervisión del clúster de Kubernetes.
Aquí tienes una lista de estas increíbles herramientas que añaden más potencia a tu Kubernetes.
Empecemos.
Timón
Timón es un gestor de paquetes para Kubernetes que facilita el despliegue en un clúster Kubernetes típico de aplicaciones y servicios que son altamente repetibles o que se utilizan en muchos escenarios diferentes. Usando Helm, puedes encontrar, compartir y usar el software que es diseñado para Kubernetes.

Utiliza gráficos, denominados Helm Charts, para definir, instalar y actualizar aplicaciones Kubernetes complejas.
Características del timón:
- Se ocupa de toda la complejidad de las aplicaciones Kubernetes mediante gráficos
- Utiliza actualizaciones y ganchos personalizados para actualizar las cosas fácilmente.
- Los gráficos pueden compartirse fácilmente en servidores públicos o privados.
- Reversión sencilla con un solo comando
- Mejora la productividad de los desarrolladores y aumenta la disponibilidad operativa
Flagelador
Flagelador es un operador de entrega progresiva para Kubernetes.
Automatiza la promoción de despliegues canarios utilizando Istio, App Mesh, Nginx, Linkerd, Contour, Gloo, enrutamiento Skipper para el cambio de tráfico y Prometeo para el análisis canario. En el despliegue canario, las versiones se distribuyen a un pequeño grupo de usuarios, se prueban y, si funcionan correctamente, se distribuyen a todo el mundo.
Utiliza la malla de servicios que se ejecuta en su clúster para gestionar el tráfico que va entre un despliegue y otro. Para cambiar el tráfico a canary, mide indicadores de rendimiento como la duración media de las solicitudes, la tasa de éxito de las solicitudes HTTP, la salud del pod, etc.
Flagger puede ejecutar análisis automatizados de aplicaciones, promoción y reversión para varias estrategias de despliegue como Canary, pruebas A/B, despliegue Azul/Verde.
Kubewatch
Kubewatch es un observador de Kubernetes de código abierto que envía una notificación a través del canal Slack.
Está escrito en Vaya a programado y desarrollado por Bitnami Labs. Se utiliza para monitorizar los recursos de Kubernetes y notifica si hay algún cambio.
Puede instalar Kubewatch a través de kubectl
o utilizando gráficos de timón. Es sencillo de entender y tiene una interfaz muy fácil de usar. Aparte de slack, también es compatible con HipChat, Mattermost, Flock, webhook y SMTP.
Dependiendo de qué Kubernetes desee monitorizar, puede establecer true o false para esos recursos en el archivo ConfigMap. Una vez que establezca la configuración de kubewatch y ejecute un pod, comenzará a recibir notificaciones sobre el evento de Kubernetes, como se muestra a continuación.
Gitkube
Gitkube es una herramienta que utiliza git push para construir y desplegar imágenes docker en Kubernetes. Tiene tres componentes - Remote, gitkube-controller, gitkubed. Remote consiste en recursos personalizados que son gestionados por gitkube-controller. gitkube-controller envía los cambios a gitkubed, que luego construye la imagen docker y la despliega.
Características de Gitkube:
- Fácil de instalar, plug and play
- Control de acceso basado en funciones para la seguridad
- Autenticación sencilla mediante clave pública
- Se admite un espacio de nombres para multi-tenancy
- No hay dependencias adicionales aparte de kubectl y git
kube-state-metrics
kube-state-metrics es un servicio que genera métricas de objetos de estado escuchando al servidor API de Kubernetes. Se utiliza para comprobar el estado de varios objetos como nodos, pods, espacios de nombres y despliegues. Proporciona datos sin modificar de la API de Kubernetes.
A continuación se muestra la información proporcionada por kube-state-metrics:
- Cron jobs y estado de los trabajos
- Estado de los pods (listos, en marcha, etc.)
- Solicitudes de recursos y su alcance
- Capacidad del nodo y su estado
- Especificación de conjuntos de réplicas
Kamus
Kamus es un código abierto GitOps que se utiliza para el cifrado y descifrado de secretos para aplicaciones Kubernetes. Los secretos cifrados que realiza Kamus solo pueden ser descifrados por las aplicaciones que se ejecutan en el clúster de Kubernetes. Utiliza AES, Google Cloud KMS, Azure KeyVault para el cifrado de secretos. Usted puede comenzar con Kamus utilizando el cuadro de mando.
Kamus viene con dos utilidades - Kamus CLI y Contenedor Kamus init. Kamus CLI se utiliza para la integración con el cifrado de la API, y Kamus init contenedor se utiliza para la integración con el descifrado de la API.
Los Kubernetes plain Secrets no están encriptados; están codificados en base64. No se pueden guardar en Git tal cual; no son seguros. Cualquiera que tenga acceso al repositorio podrá utilizar estos secretos. Por lo tanto, se necesita una solución de cifrado/descifrado adecuada, como Kamus. También proporciona un modelo de amenazas que se ocupa de las amenazas y hace que los secretos sean seguros.
Untrak
Untrak es una herramienta de código abierto que se utiliza en Kubernetes para encontrar recursos no rastreados y recolectarlos. Le ayuda a encontrar y eliminar los archivos del clúster, que son sin seguimiento.
Después de inyectar los manifiestos en su canalización de CI/CD mediante kubectl apply o helm template, Kubernetes no sabe cuándo se eliminará el objeto del repositorio. Una vez que los objetos se eliminan, no se rastrean en el proceso de entrega y siguen residiendo en el clúster de Kubernetes.
Ejecuta el comando internamente utilizando un simple archivo de configuración untrak.yaml
para encontrar recursos que ya no forman parte de su gestión de código fuente.
Alcance
Tejido Alcance es para visualizar, supervisar y solucionar problemas de Docker y Kubernetes.
Te muestra una vista de arriba abajo de tu en contenedor aplicación y la infraestructura completa mediante la cual podrá identificar fácilmente cualquier problema y diagnosticarlo.
Ejecutar aplicaciones de arquitectura de microservicios en contenedores Docker no es tan fácil. Los componentes son muy dinámicos y difíciles de monitorizar. Con weave scope, puede solucionar fácilmente las fugas de memoria y controlar el consumo de CPU, visualizar los cuellos de botella de la red.
Características del alcance:
- Te ayuda supervise sus contenedores docker en tiempo real
- Facilita la navegación entre los procesos que se ejecutan en los contenedores
- Muestra el uso de CPU y memoria por host o servicio
- Reinicie, detenga o ponga en pausa los contenedores mediante la CLI sin salir de la ventana del navegador de ámbito.
- Admite complementos personalizados para obtener más detalles sobre contenedores, procesos y hosts.
Panel de control de Kubernetes
Panel de control de Kubernetes es una interfaz web proporcionada por Kubernetes. Se utiliza para desplegar, solucionar problemas y gestionar la aplicación en contenedores en un clúster Kubernetes. Proporciona toda la información sobre un clúster, como detalles sobre nodos, espacios de nombres, roles, cargas de trabajo, etc.
Puede utilizar helm charts para desplegar Kubernetes dashboard o utilizar un simple comando kubectl que se mencionan a continuación:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
Kops
Kops son las siglas de Kubernetes operations, un proyecto de código abierto que se utiliza para configurar clústeres Kubernetes listos para producción de forma muy sencilla y rápida. Kops puede utilizarse para desplegar clústeres Kubernetes en AWS y CME principalmente.
Un clúster Kubernetes de pequeño tamaño es fácil de crear y mantener, pero cuando escalas tu clúster, se añaden un montón de configuraciones, y se hace difícil de gestionar operativamente. Kops es una herramienta que le ayuda a resolver estos problemas. Sigue un enfoque basado en la configuración que mantiene el clúster siempre actualizado y seguro.
Kops también dispone de muchos backends de red, y elegir uno de ellos, en función del caso de uso, facilita la configuración de varios tipos de clusters.
cAdvisor
cAdvisor es una herramienta de código abierto para monitorizar un contenedor. Se utiliza para comprender las características de rendimiento y el uso de recursos de los contenedores que se ejecutan en el clúster.
Opera a nivel de nodo y puede autodescubrir todos los contenedores que se ejecutan en un nodo concreto y recopila estadísticas de memoria, sistema de archivos, CPU y red. Proporciona una interfaz web que muestra los datos en directo de todos los contenedores del clúster.
Para empezar a utilizar cAdvisor, debe ejecutar su imagen docker google/cadvisor y, a continuación, puede acceder a ella en http://localhost:8080 en un navegador web.
Kubespray
Kubespray es una herramienta gratuita que se ha creado combinando playbooks de Ansible y Kubernetes. Se utiliza para la gestión del ciclo de vida del clúster Kubernetes.
Con Kubespray, puede desplegar un clúster rápidamente y personalizar todos los parámetros de la implementación de un clúster, como los modos de despliegue, los plugins de red, la configuración de DNS, las versiones de los componentes, los métodos de generación de certificados, etc.
Con sólo ejecutar un simple ansible-playbookSu clúster está en funcionamiento. Puede escalar o actualizar fácilmente su clúster Kubernetes.
K9s
K9s es una herramienta de código abierto basada en terminales, y su utilidad de panel de control puede hacer todo lo que hace una interfaz de usuario web de Kubernetes. Se utiliza para navegar, observar y gestionar los desplegada en Kubernetes racimo.
Características de K9s:
- Seguimiento de su clúster en tiempo real
- Personalizar la visualización por recurso
- Acercarse a los problemas de recursos de los clusters
- Control de acceso basado en funciones
- Puntos de referencia integrados para validar el rendimiento de los recursos
Kubetail
Kubetail es un sencillo script bash que se utiliza para agregar registros de varios pods en un flujo.
Muy práctico.
Le ayuda en la depuración con facilidad.
La última versión de Kubetail también cuenta con funciones de resaltado y filtrado. Esta función permite colorear los registros. Uso de homebrewpuede instalar Kubetail con un solo comando. Puede añadir valores por defecto en las variables de entorno que Kubetail puede leer como KUBETAIL_NAMESPACE
, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS
etc.
PowerfulSeal
PowerfulSeal es una potente herramienta de ingeniería del caos de código abierto escrita en python para clústeres Kubernetes.
Ingeniería del caos se utiliza para obtener la confianza del sistema y comprobar su capacidad para hacer frente a situaciones problemáticas en producción. Inyecta fallos en el clúster de Kubernetes para identificar problemas en él lo antes posible.
Está inspirado en el Chaos Monkey de Netflix y se utiliza para mejorar la resistencia de Kubernetes. Con PowerfulSeal, los ingenieros intentan romper cosas a sabiendas en el clúster para comprobar cómo reacciona el sistema.
PowerfulSeal funciona en tres modos - Autónomo, Interactivo, Etiqueta.
En modo autónomo, ejecuta escenarios leyendo un archivo de políticas que usted le proporciona. En modo interactivo, le informa sobre los componentes del clúster que intenta romper manualmente. En el modo de etiquetas, elimina objetos específicos del clúster, como pods, mediante etiquetas.
Popeye
Popeye es una utilidad de limpieza que actúa como desinfectante 🧼 para clústeres Kubernetes.
Escaneará el clúster completo e informará de los problemas relacionados con las configuraciones y los recursos. Le ayuda a ejecutar el buenas prácticas en el clúster Kubernetes para evitar problemas comunes.
Esta utilidad está disponible para Windows, Linux y macOS. Actualmente, solo funciona con nodos, pods, espacios de nombres y servicios. Con Popeye, puede identificar fácilmente recursos muertos y no utilizados, desajustes de puertos, reglas RBAC, utilización de métricas y mucho más.
Conclusión
Herramientas DevOps desempeñan un papel vital en el éxito, y espero que lo anterior le ayude a gestionar Kubernetes mejor.