Llegamos a ustedes gracias a:



Reportajes y análisis

10 distribuciones de Kubernetes que lideran la revolución del contenedor

[06/06/2019] Kubernetes se ha convertido en el proyecto al que recurrir si necesita una orquestación de contenedores a escala. El sistema de orquestación de contenedores de código abierto de Google es muy bien visto, está bien soportado y evoluciona rápidamente.

Kubernetes también es extenso, complejo y difícil de configurar. No solo eso, sino que gran parte del trabajo pesado se deja al usuario final. El mejor enfoque, por lo tanto, no es agarrar los bits e intentar hacerlo solo, sino buscar una solución de contenedor completa que incluya Kubernetes como un componente soportado y mantenido.

Aquí se enumeran las nueve ofertas más destacadas de Kubernetes -lo que equivale a distribuciones que incorporan herramientas de contenedor de Kubernetes plus, así como varios proveedores que ofrecen distribuciones del kernel de Linux y su zona de usuario.

Tenga en cuenta que esta lista no incluye servicios en la nube dedicados, como Amazon EKS o Google Kubernetes Engine, sino que se centra en distribuciones de software que pueden ejecutarse localmente o como una opción alojada en la nube.

CoreOS Tectonic/Red Hat CoreOS

CoreOS es el proveedor de una distribución de Linux centrada en contenedores, compatible con Docker, pero con un formato de imagen y tiempo de ejecución propios, y una distribución de "Kubernetes de nivel empresarial". Juntos forman la base de la pila CoreOS Tectonic.

El sistema operativo CoreOS, Container Linux, se distingue principalmente por ser entregado como un conjunto de componentes contenerizados. De esta manera, las actualizaciones automatizadas del sistema operativo pueden incorporarse en la producción, sin deshabilitar las aplicaciones en ejecución. CoreOS también ofrece actualizaciones de "un clic" a Kubernetes. CoreOS Tectonic se ejecuta en Amazon Web Services, Microsoft Azure y bare metal.

Red Hat adquirió recientemente CoreOS, con planes de integrarlo en Red Hat OpenShift. Container Linux será rebautizado como Red Hat CoreOS. No se espera que el movimiento se complete hasta el 2020, pero Container Linux continuará siendo soportado hasta entonces. Según Red Hat, "casi todas" las funciones de CoreOS Tectonic estarán disponibles después de la transición.

Distribución Canonical de Kubernetes

Canonical, creadores de Ubuntu Linux, proporciona su propia distribución de Kubernetes. Uno de los grandes puntos de venta para la distribución Canonical de Kubernetes es la ampliamente respetada, la bien entendida y la comúnmente implementada, distribución Ubuntu de Linux. Canonical afirma que su pila funcionará en cualquier nube o implementación local, con soporte incluido para cargas de trabajo impulsadas tanto con el CPU como con el GPU. Los clientes que pagan pueden tener su clúster de Kubernetes administrado de forma remota por ingenieros de Canonical.

La distribución Kubernetes de Canonical también está disponible en una versión en miniatura, Microk8s. Los desarrolladores y los novatos de Kubernetes pueden instalar Microk8s en una notebook o computadora de escritorio, y usarlo para pruebas, experimentación o incluso para producción en hardware de bajo perfil.

Canonical y Rancher Labs (ver más abajo) coproducen un producto, Cloud Native Platform, que combina la distribución Kubernetes de Canonical con la plataforma de administración de contenedores de Rancher. La idea es utilizar Kubernetes para administrar/gestionar los contenedores que se ejecutan en cada clúster, y usar Rancher para administrar múltiples clústeres de Kubernetes. Cloud Native Platform estará disponible con Rancher 2.0, que actualmente está disponible en una vista previa beta.

Docker Community Edition/Docker Enterprise

Para muchos de nosotros, Docker es contenedores; y desde el 2014, Docker ha tenido su propio sistema de agrupación y orquestación, Docker Swarm, que hasta hace poco era un competidor de Kubernetes. Luego, en octubre del 2017, Docker anunció que agregaría Kubernetes -en su estado no modificado- como un paquete estándar con Docker Community Edition y Docker Enterprise 2.0, y ediciones posteriores.

Docker Enterprise 3.0 agrega el Docker Kubernetes Service (DKS), una distribución de Kubernetes certificada, diseñada para integrar Kubernetes desde el escritorio del desarrollador hasta los servidores de producción, con "valores predeterminados seguros listos para usar [información sacada de Docker Blog]. Es una integración que mantiene uniformes las versiones de Kubernetes entre los escritorios de los desarrolladores y las implementaciones de producción.

En resumen, Docker Inc. leyó lo escrito en el muro de la orquestación de contenedores y reconoció que Kubernetes es más adecuado que Swarm para administrar entornos de contenedores grandes y complejos. Sin embargo, Docker aún incluye su sistema de agrupación en clúster original, el "swarm mode", para trabajos más modestos -por ejemplo, para una aplicación local, detrás del firewall, que probablemente no crezca mucho; o para mantener los clústeres existentes que no necesitan ser renovados en swarm-mode.

Heptio Kubernetes Subscription

Dos de los creadores de Kubernetes, Craig McLuckie y Joe Beda, fundaron Heptio para ofrecer servicios y productos alrededor de Kubernetes. Su primera oferta importante es la Heptio Kubernetes Subscription (HKS), una implementación de Kubernetes con soporte pagado 24/7 proporcionado por Heptio. Los precios comienzan en dos mil dólares por mes.

El punto principal de Heptio es que es Kubernetes de nivel empresarial sin bloqueo de proveedor. Las implementaciones pueden ejecutarse en nubes públicas o hardware privado. Todas las herramientas ofrecidas por Heptio para administrar las configuraciones de Kubernetes son de código abierto, y las correcciones se entregan directamente a los clústeres soportados.

VMware adquirió Heptio en el 2018, pero la adquisición aún no ha afectado los planes para la cartera de productos de Heptio.

Kontena Pharos

Presentado como "Kubernetes que simplemente funciona", Kontena Pharos sigue, más o menos, el mismo libro de tácticas que las ofertas de Linux de Red Hat. En el fondo es una distribución de Kubernetes certificada por CNCF disponible bajo la licencia Apache 2 (de acuerdo con Fedora o CentOS). Aquellos que tienen el dinero para gastar (según Red Hat Enterprise Linux) pueden comprar funciones de nivel profesional, consultoría, servicios de soporte y ciertas ofertas de precio fijo, tal como pasar a una infraestructura nativa de la nube.

La distribución principal de Pharos incluye características básicas como actualizaciones de seguridad automáticas y múltiples tiempos de ejecución de contenedores. El producto pagado agrega herramientas empresariales, como el panel de control de Kontena Lens, el sistema de almacenamiento distribuido de Kontena Storage, la copia de seguridad, el equilibrio de carga y la capacidad de implementar el clúster en un entorno air-gapped/air gap.

La edición profesional tiene un período de evaluación de treinta días, con suscripciones de soporte que comienzan en 375 euros por mes. La edición de código abierto no tiene límite de tiempo ni costos de licencia.

Pivotal Container Services (PKS)

Pivotal, mejor conocido por su trabajo en Cloud Foundry, ofrece un Kubernetes de nivel empresarial llamado Pivotal Container Service (PKS). PKS se inspira en muchos otros proyectos de Pivotal. Por ejemplo, utiliza el Proyecto Kubo, que también se usa en Cloud Foundry de Pivotal, para lanzar y administrar los clústeres de Kubernetes.

La característica destacada de PKS es su estrecha integración con la pila de virtualización de VMware; de hecho, PKS es un proyecto conjunto de VMware-Pivotal. Los contenedores que se ejecutan en PKS tienen acceso a servicios normalmente disponibles solo para máquinas virtuales que se ejecutan en vSphere, como el almacenamiento persistente en VMware VSAN. Además, PKS se puede administrar a través de VMware Cloud Foundation, que se utiliza para administrar la infraestructura de VMware en entornos de nube pública y privada.

En resumen, cualquier tienda con una inversión en VMware y un creciente interés en Kubernetes, podría querer investigar más sobre PKS para aprovechar al máximo su configuración de VMware existente.

Rancher 2.0

Rancher Labs ha incorporado a Kubernetes en su plataforma de administración de contenedores -llamada Rancher- con la versión 2.0. Rancher 2.0 funciona en un nivel más alto que otras distribuciones de Kubernetes, por encima de sus hosts de Linux, de sus contenedores Docker y de sus nodos de Kubernetes, administrándolos a distancia, independientemente de la ubicación o la infraestructura. Incluso puede administrar los clústeres de Kubernetes en Amazon EKS, Google Kubernetes Engine, Azure Kubernetes Service y otras nubes de Kubernetes como un servicio.

Rancher también viene con su propia distribución de Kubernetes. Su intención es eliminar gran parte del trabajo pesado del proceso de configuración de un clúster de Kubernetes y personalizarlo para un entorno específico, sin permitir que esas personalizaciones obstaculicen las actualizaciones de Kubernetes -una consideración clave para un proyecto en constante movimiento y actualización.

Rancher también ofrece una distribución mínima de Kubernetes llamada K3s. Optimizado para implementaciones de bajo perfil, K3s requiere solo 512MB de RAM por instancia de servidor y 200MB de espacio en el disco. Se comprime en esta huella omitiendo todas las características heredadas, de grado alfa y no esenciales, así como muchos plug-ins de uso menos común (aunque se pueden agregar de nuevo si es necesario).

Red Hat OpenShift

Red Hat OpenShift, el producto PaaS de Red Hat, originalmente usaba "cartuchos" similares a los de Heroku para empaquetar aplicaciones, que después eran desplegadas en contenedores llamados "engranajes". Luego apareció Docker, y OpenShift fue reelaborado para hacer uso de la nueva imagen de contenedor y el nuevo estándar de tiempo de ejecución. Inevitablemente, Red Hat también adoptó Kubernetes como la tecnología de orquestación dentro de OpenShift.

OpenShift fue construido para proporcionar abstracción y automatización para todos los componentes en un PaaS. Esta abstracción y automatización también se extiende a Kubernetes, que aún impone una gran cantidad de carga administrativa, por lo que OpenShift puede ser usado para aliviarla como parte de la misión más grande de implementar un PaaS.

Como se señaló anteriormente, CoreOS Tectonic se está fusionando con Red Hat OpenShift, aunque no se espera que la fusión de tecnologías se complete hasta el 2020.

SUSE Container como una Plataforma de Servicio

Mejor conocido por una distribución de Linux muy popular en Europa, SUSE también ofrece la SUSE CaaS Platform. Conceptualmente, la SUSE CaaS Platform recuerda a CoreOS Tectonic, combinando un "micro" sistema operativo bare metal que ejecuta contenedores, Kubernetes para la orquestación de contenedores, un registro de imágenes integrado y herramientas de configuración de clústeres.

La SUSE CaaS Platform 3, lanzada en el 2018, agregó funcionalidad multi-master para hacer que los clústeres sean más resistentes a una falla del nodo maestro y a una función de ajuste del kernel para hacer ajustes personalizados al kernel de Linux incluido.

La SUSE CaaS Platform puede ser ejecutada en nubes públicas, así como en redes locales, pero con la advertencia de que "SUSE actualmente no admite ninguna integración en la infraestructura subyacente de la nube". Esto significa que la plataforma SUSE CaaS no está diseñada para complementar Amazon EKS o Google Kubernetes Engine, sino para evitarlos, permitiéndole ejecutar contenedores en múltiples nubes y centros de datos.

Telekube

Gravitational, fabricante del servidor Teleport SSH, también produce Telekube, una distribución de Kubernetes "endurecida por la producción" que se ejecuta en clústeres locales o remotos. Telekube se ha posicionado como una solución para una plataforma SaaS privada, o para ejecutar Kubernetes como un servicio en múltiples regiones o proveedores de alojamiento.

Las aplicaciones en Telekube deben estar preparadas para ejecutarse en contenedores en Kubernetes. También deben ser empaquetadas en "Paquetes" que luego serán publicados en los clústeres de Kubernetes para su distribución. El empaquetamiento requiere un trabajo adicional, además de todas las demás preparaciones necesarias para implementar aplicaciones basadas en contenedor, pero el Bundle Manifest es la única adición específica de Telekube que debe mantener.

Otra herramienta de Gravitational para Kubernetes, Gravity, le permite tomar una captura de un clúster completo de Kubernetes -incluyendo todas sus aplicaciones y configuración-, e implementarla en cualquier otro entorno de Kubernetes.