Como sabrán, en noviembre pasado Mirantis adquirió el negocio Docker Enterprise de Docker, Inc., y , como imaginarán desde entonces han estado, bastante ocupados! Los equipos de Mirantis y Docker han estado integrando sus esfuerzos y combinando lo mejor de ambos mundos para resultar en los mejores productos, servicios y soporte que se puede brindar a los clientes.
Seis meses después, Mirantis se enorgullece de anunciar el “General Avalaibility” de Docker Enterprise 3.1, con nuevas características que te permiten mejorar aún más tu juego de Kubernetes. Esta nueva versión incluye muchas características nuevas, entre las cuales:
- K8s en Windows
- Soporte de GPU
- Istio Ingress
- Nuevo “UCP Installer”
- Upgrade a K8s 1.17
Hagamos un repaso de que significa todo esto.
(ver el anuncio en: https://www.mirantis.com/blog/announcing-docker-enterprise-3-1-general-availability/ )
Kubernetes on Windows
Desde el principio, Kubernetes ha sido un proyecto extremadamente centrado en Linux, lo cual es comprensible, ya que los contenedores evolucionaron a partir de desarrolladores de la comunidad Linux como cgroups. Pero, ¿en qué difiere esto para los desarrolladores de Windows, siendo que después de todo, Docker se ejecuta en Windows y hace posible ejecutar contenedores de Linux también (aunque usando virtualización).
En las últimas versiones de Kubernetes, la comunidad ha estado trabajando en la capacidad de ejecutar en Windows, y con Docker Enterprise 3.1, ahora se suma la capacidad de unir fácilmente Workers Windows a un clúster de Kubernetes y administrarlos como lo haría con la administración tradicional Nodos de Linux desde la UCP (Universal Control Plane).
La capacidad de orquestar “Containers” basados en Windows permite a las organizaciones aprovechar la amplia disponibilidad de imágenes existentes con formatos Windows (docker hub), tanto para el desarrollo de nuevas aplicaciones como para la modernización de las existentes. Este Proporciona un camino relativamente fácil para “contenerizar” y operar aplicaciones de Windows de misión crítica (incluso heredadas) en un entorno que mejora la disponibilidad y facilita el “scale”, manteniendo la administración de la infraestructura subyacente a través de políticas, herramientas y opciones familiares orientadas a Windows. Por supuesto, también libera a los usuarios para explotar Azure Stack y / u otras plataformas en la nube que ofrecen infraestructura virtual y básica de Windows Server, el entorno Multi Cloud para la aplicación.
Soporte de GPU
Hubo un tiempo en que las “Graphic Processing Units” (GPU) eran solo para juegos, pero ese tiempo ya pasó; ahora son una parte esencial para realizar eficientemente los pesados cálculos que se están convirtiendo cada vez más en parte de la vida empresarial. Incluso antes de que el Machine Learning y la Inteligencia Artificial aparecieran en el radar empresarial, las grandes corporaciones tenían operaciones de “Data Mining” que los habían preparado para la próxima batalla.
Docker Enterprise 3.1 con Kubernetes 1.17 hace fácil el agregar un “Worker Node” con capacidades de GPU de manera estándar a los clústeres de Kubernetes. Con unos pocos pasos y fácilmente automatizados se puede configurar el nodo (Linux), ya sea antes o después de unirlo a Docker Enterprise, y luego, el Servicio Docker Kubernetes reconoce automáticamente al nodo como habilitado para GPU, y los Deploys que lo necesiten o puedan llegar a usar esta capacidad pueden ser “taggeados” y configurados para detectarlo.
Esta capacidad complementa la alta variedad cada vez mayor de placas de GPU NVIDIA para el Datacenter (y escritorio), así como la rápida expansión de las opciones de máquinas virtuales equipadas con hardware de GPU de los proveedores de la nube pública. La disponibilidad de la adquisición de GPU y el soporte sólido para GPU estándar a nivel de Container (por ejemplo, en TensorFlow containerizado) está transformando la explotación de nuevas aplicaciones y modelos comerciales, desde AI hasta bioinformática y juegos. Mientras tanto, Kubernetes y los contenedores están haciendo que sea más fácil compartir una GPU relativamente costosa aún, o configurar e implementar en nodos con GPU de la nube según sea necesario, lo que posiblemente permita ahorros, ya que el costo de los nodos de GPU tiende a ser elevado.
Istio Ingress
Cuando se usa Kubernetes, no se quiere exponer todo el clúster al mundo exterior. Lo más seguro es exponer solo la porción del clúster que sea necesario para manejar el tráfico entrante. Idealmente, se desearía poder configurar esta porción y tener una lógica de manejo adicional basada en rutas, encabezados, etc.
Es posible que haya oído hablar de Istio, la aplicación “service mesh” que le brinda un control extremadamente potente y granular del tráfico dentro de las partes de una aplicación descentralizada. Parte de Istio es Istio Ingress, un reemplazo directo para Kubernetes Ingress, que controla el tráfico que ingresa a su clúster. Docker Enterprise 3.1 incluye Istio Ingress, que se puede controlar y configurar directamente desde UCP 3.3.0. Eso significa que puede habilitar o deshabilitar fácilmente el servicio directamente desde la interfaz de usuario o la CLI.