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™.

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.

YouTube vídeo

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.

flagger-canary-overview

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.

kubewatch - geekflare

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.

gitkube

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.

untrak-schema

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.

alcance del tejido

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.

panel de control de kubernetes

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.

kops

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.

cAdvisor

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.

k9s - geekflare

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.

powerfulseal

Popeye

Popeye es una utilidad de limpieza que actúa como desinfectante 🧼 para clústeres Kubernetes.

popeye

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.

  • Avi
    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