Imágenes de Anthony Smith / Shutterstock.comCreamos Kubernetes como un servicio en la nube y monitoreamos de cerca las últimas herramientas de los desarrolladores de aplicaciones de contenedores. En esta publicación hablaremos sobre herramientas que facilitan enormemente el trabajo con las implementaciones de Kubernetes y ayudan a construir CI / CD.
Despliegue de clúster de Kubernetes
Conjunto de roles de Ansible para la implementación y configuración de Kubernetes. Kubespray se ejecuta en AWS, GCE, Azure, Mail.Ru Cloud Solutions, OpenStack y IaaS de metal desnudo. Kubespray es un proyecto de código abierto y de código abierto con kubeadm bajo su capó.
Gracias a Kubespray, para crear recursos (máquinas virtuales, redes, equilibradores, etc.) y la orquestación es suficiente para conocer Ansible, no se necesitan otras herramientas. Si está familiarizado con Ansible, esto puede ayudarlo mucho.
Costo : Gratis
Herramienta de distribución de Kubernetes desde la versión 1.4. Ayuda a inicializar los clústeres de Kubernetes en sus mejores configuraciones en su infraestructura existente.
Kubeadm no puede crear dinámicamente la infraestructura necesaria en la nube. Su principal ventaja es que puede ejecutar clústeres de Kubernetes mínimamente viables en cualquier entorno. Sin embargo, los complementos y la configuración de red no se incluyen con Kubeadm, por lo que debe configurar todo manualmente o utilizar otras herramientas.
Costo : Gratis
Le ayuda a crear, eliminar, actualizar y mantener clústeres de conmutación por error industrial de Kubernetes desde la línea de comandos. Esta herramienta es oficialmente compatible con Amazon Web Services (AWS). El soporte de GCE está en beta y VMware vSphere está en alfa. También planea admitir otras plataformas, incluida OpenStack. Kops le permite controlar el ciclo de vida completo de un clúster de Kubernetes, desde el aprovisionamiento de infraestructura hasta la eliminación del clúster.
Costo : gratis.
Kubernetes se agrupa como un servicio en la nube. Con él, puede preparar un clúster para trabajar en unos minutos sin configurarlo, así como actualizarlo a la versión deseada. Los clústeres son fácilmente escalables y funcionan en la infraestructura de Mail.Ru, que se agudiza para servicios altamente cargados.
El costo depende de la configuración. Por ejemplo, un entorno de prueba de dos nodos y un maestro cuesta 3200 rublos por mes. Puedes probar gratis.
Monitoreo
La consola de terminal para el clúster de Kubernetes, con la que puede administrar el clúster y controlar su estado en tiempo real a través de la interfaz antigua. Kubebox muestra cómo están involucrados los recursos de hogar, monitorea el clúster, muestra registros de contenedores, etc. Incluso en él, puede ir fácilmente al espacio de nombres deseado y ejecutar el comando en el contenedor correcto para solucionar problemas rápidamente o restaurar el trabajo.
Costo : gratis.
Proporciona una interfaz de usuario para el análisis de rendimiento. Agrega y resume métricas de varias fuentes, muestra a los administradores datos analíticos de alto nivel. Kubedash usa Heapster como fuente de datos, que se ejecuta como el servicio predeterminado en todos los clústeres de Kubernetes y recopila métricas y análisis en cada contenedor.
Costo : gratis.
Interfaz de usuario de código abierto para Kubernetes, que se puede utilizar en lugar de la consola nativa de Kubectl. La herramienta es interesante no solo para los desarrolladores, sino también para los gerentes de proyectos, ya que ayuda a monitorear los proyectos que se ejecutan en el clúster de Kubernetes en una interfaz intuitiva. La herramienta le permite administrar aplicaciones en ejecución, se integra con canalizaciones de CI / CD. La interfaz de usuario de Containerum será especialmente útil para aquellos que solo dominan Kubernetes.
Costo : gratis.
Un pequeño script bash para agregar los registros de muchos hogares en un solo hilo. La versión original de Kubetail no sabe cómo filtrar o seleccionar, pero en Github hay un tenedor separado que puede colorear los registros con MultiTail.
Costo : gratis.
Una herramienta para la resolución de problemas y la supervisión de los grupos de Docker Swarm y Kubernetes. Weave Scope genera automáticamente topologías y arquitecturas de aplicaciones, lo que ayuda a encontrar cuellos de botella en las aplicaciones. Puede implementar Weave Scope como una aplicación independiente en un servidor local o computadora portátil, o usarlo como SaaS en Weave Cloud. Con la ayuda de Weave Scope es fácil agrupar, filtrar y buscar contenedores por nombre, etiqueta y consumo de recursos. Funcionalidad inesperadamente útil: puede iniciar sesión en los nodos de Kubernetes como usuario root desde la consola web sin acceso a través de ssh.
Costo : modo fuera de línea - gratis; versión estándar de SaaS - $ 30 / mes. por nodo (30 días de prueba); versión corporativa - $ 150 / mes. por nodo
Una herramienta de monitoreo y notificación de código abierto inspirada en Google Borg Monitor. Prometheus le permite crear sus propias métricas (hay integración con todos los lenguajes de programación populares), y también contiene una gran cantidad de integraciones listas (exportadores) con varias tecnologías: PostgreSQL, MySQL, AWS Cloudwatch, ETCD y Kubernetes.
Prometeo se ha convertido en el estándar de monitoreo de facto para Kubernetes. Existe un
Operador Prometheus especial que le permite crear instancias Prometheus en clústeres de Kubernetes, incluida una estrecha integración con Grafana y Alertmanager.
Costo : Gratis
Operador de
Kubernetes para
Icinga . Searchlight ejecuta periódicamente comprobaciones en los grupos de Kubernetes y, si algo sale mal, le envía un correo electrónico, SMS o chat. Searchlight incluye un conjunto de pruebas predeterminado específicamente para Kubernetes.
Searchlight amplía las capacidades de monitoreo de Prometheus como un servicio externo de monitoreo de caja negra y sirve como un sistema de respaldo en caso de una falla completa de los sistemas internos.
Costo : gratis.
Panel de control del sistema de solo lectura que puede funcionar con muchos clústeres de Kubernetes. Con Kube-ops-view, puede navegar fácilmente entre clústeres, nodos de seguimiento y estado del hogar. Kube-ops-view anima algunos procesos, como crear y destruir hogares. La herramienta también usa Heapster como fuente de datos.
Costo : gratis.
Seguridad
Aquasec protege las instalaciones de Kubernetes durante todo su ciclo de vida. En cada contenedor, la solución implementa un agente dedicado que actúa como un cortafuegos y tapona agujeros en la seguridad del contenedor. El agente interactúa con la consola de administración central de Aquasec, que gestiona las restricciones de seguridad. Aquasec también ayuda a establecer una tubería flexible para implementar mecanismos de seguridad en entornos en la nube y locales.
Otra herramienta de código abierto, Kube-Bench, está asociada con Aquasec, que compara el entorno de Kubernetes con una larga lista de pruebas del documento de referencia de Kubernetes de la CEI.
Costo : $ 0.29 por escaneo.
Otra herramienta que actúa como un firewall basado en la nube para aplicaciones (Cloud Native Application Firewall) y analiza el tráfico de red entre contenedores y servicios. Twistlock analiza el comportamiento estándar de los contenedores y genera reglas basadas en este comportamiento, para que los administradores no tengan que crear reglas manualmente. Twistlock también es compatible con CIS Benchmark para Kubernetes a partir de la versión 2.2.
Costo : desde $ 1700 por una licencia anual, hay un período de prueba.
Un componente de la plataforma Sysdig Container Intelligence viene como una solución independiente. Proporciona visibilidad de contenedores y se integra con herramientas de orquestación, incluidos Kubernetes, Docker, AWS ECS y Apache Mesos. Gracias a Sysdig Secure, un usuario puede implementar políticas conscientes del servicio, bloquear ataques, analizar el historial y monitorear el rendimiento del clúster. Sysdig Secure está disponible como una aplicación en la nube y en las instalaciones.
Costo : Gratis para uso fuera de línea. El precio de la versión Pro para la nube y en forma de software depende de la configuración.
Un servicio que evalúa cómo los recursos de Kubernetes aprovechan las capacidades de seguridad. Kubesec.io verifica las configuraciones de recursos para las mejores prácticas. El usuario recibe control total y recomendaciones para mejorar la seguridad general del sistema. El sitio web del proyecto tiene muchos enlaces a fuentes externas sobre seguridad de contenedores y Kubernetes.
Costo : Gratis
Utilidades útiles
Generador de alias muy simple pero increíblemente potente para kubectl. Le permite escribir comandos mucho más rápido para la administración diaria de Kubernetes, proporcionando más de 800 alias cortos para todas las ocasiones.
Costo: gratis.
Panel para la gestión remota de clústeres de Kubernetes desde un dispositivo móvil (Android e iOS). Con Cabin, puede administrar aplicaciones, escalar la implementación y solucionar problemas de un clúster. Ayuda a los operadores de clústeres de Kubernetes a responder rápidamente a incidentes desde cualquier lugar.
Costo : gratis.
Una pequeña utilidad de código abierto que complementa la funcionalidad de Kubectl, facilitando el cambio de contextos y la conexión a múltiples clústeres de Kubernetes al mismo tiempo. Kubens le permite navegar entre los espacios de nombres de Kubernetes. Ambas herramientas admiten el autocompletado en bash / zsh / fish shells.
Costo : gratis.
Ayuda a trabajar más rápido con kubectl. Proporciona autocompletado de equipos y ofrece opciones. Incluso puede buscar y corregir comandos ingresados incorrectamente. Kube-shell muestra ayuda en línea sobre los comandos que se ejecutan.
Costo : gratis.
Kail es la abreviatura de Kubernetes Tail. Esta herramienta funciona con clústeres de Kubernetes y ayuda a rastrear los registros de Docker para los hogares correctos. Kail le permite filtrar pods por servicio, implementación, etiqueta y otros parámetros. Los pods se agregarán automáticamente al registro (o se eliminarán desde allí) después del lanzamiento si cumple con los criterios de filtrado.
Costo : gratis.
Herramientas CI / CD
El servidor CI / CD de código abierto más popular del mundo. Para él, hay un
complemento gratuito que le permite implementar aplicaciones en Kubernetes, llevar a cabo sus actualizaciones continuas (actualizaciones consecutivas con minimización del tiempo de inactividad) e implementar la implementación de actualizaciones Verde / Azul.
Esta publicación proporciona un escenario detallado de esta configuración.
Costo : gratis.
Servicio de CI / CD popular del equipo de JetBrains. Con
este complemento, puede usar la infraestructura de clúster de Kubernetes para ejecutar agentes de compilación de TeamCity. El complemento admite TeamCity versión 2017.1.xy posterior.
Costo : hasta tres agentes de compilación y 100 configuraciones de compilación sin cargo. $ 299 por una licencia que le permite usar un agente de compilación adicional y 10 configuraciones de compilación adicionales.
Visualización y control
Interfaz web genérica para clústeres de Kubernetes. El uso de este panel de control nativo es mucho más fácil de solucionar y monitorear clústeres. Para acceder al panel, debe crear un canal proxy seguro entre su máquina y el servidor API de Kubernetes. El panel nativo de Kubernetes se basa en la herramienta de recopilación de datos Heapster, por lo que debe instalarse en el sistema. A pesar de que Heapster no se recomienda oficialmente para su uso (en desuso), todavía no existe una alternativa completa.
Costo : gratis.
Interfaz web para el directorio de la aplicación en clústeres de Kubernetes. Le permite instalar, actualizar y eliminar gráficos de Helm con solo hacer clic en un botón, sin usar la línea de comando.
Costo : gratis.
En la próxima publicación hablaremos sobre herramientas avanzadas para desarrolladores.