Se ha lanzado la primera versión estable de un sistema de orquestación minimalista (en comparación con Kubernetes y otros proyectos en este ámbito) HashiCorp Nomad, que admite la orquestación de contenedores mediante Docker y Podman, de programas en Java, de máquinas virtuales QEMU, de archivos binarios comunes, y otros métodos respaldados por la comunidad. El proyecto está escrito en el lenguaje Go y se destaca por su integración estrecha con otros proyectos de HashiCorp.
Según HashiCorp, al comparar Nomad con Kubernetes, su proyecto es arquitectónicamente más simple, modular y eficiente: mientras que Kubernetes combina simultáneamente un planificador, gestión de clústeres, descubrimiento y monitoreo de servicios, y almacenamiento de secretos, siendo un servicio masivo y que consume muchos recursos, Nomad se entrega en forma de un pequeño archivo binario que se encarga solo de la planificación y la clustering. Toda la funcionalidad restante se asigna a otros pequeños servicios de la empresa: por ejemplo, Consul para el descubrimiento de servicios y Vault para el almacenamiento de secretos.
Los cambios en esta versión:
- Dynamic Application Sizing (disponible solo en la versión enterprise) — determinación automática de los recursos requeridos para el óptimo funcionamiento del servicio;
- Consul Namespaces (disponible solo en la versión enterprise de Consul) — delimitación de la visibilidad de los servicios para Consul dentro de un clúster Nomad;
- Namespaces (disponible en la versión gratuita) — delimitación de la visibilidad y separación de servicios entre sí dentro del clúster;
- Event Stream — flujo lineal útil para la depuración de eventos que han ocurrido dentro del clúster;
- HCL2 — nueva versión del lenguaje de configuración de proyectos de HashiCorp, ahora con soporte para expresiones y variables de entrada;
- mejora en el soporte de Container Networking Interface — ahora las direcciones creadas mediante CNI pueden ser registradas en Consul;
- nueva interfaz para mostrar información sobre los servicios en ejecución, su distribución en nodos y consumo de recursos dentro del clúster.
Fuente: linux.org.ru
