10 distribuciones de Kubernetes que lideran la revolución de los contenedores

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 está bien considerado, bien respaldado y evoluciona rápidamente.

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

Aquí he enumerado las 9 ofertas de Kubernetes más destacadas, lo que equivale a distribuciones que incorporan Kubernetes más herramientas de contenedor, en el mismo sentido en que varios proveedores ofrecen distribuciones del kernel de Linux y su área 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 se pueden ejecutar 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 obstinado y un 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 en contenedores. De esta forma, las actualizaciones automatizadas del sistema operativo se pueden incorporar a la producción sin tener que desactivar las aplicaciones en ejecución. CoreOS también promociona actualizaciones de "un clic" para 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 pasará a llamarse Red Hat CoreOS. No se espera que el movimiento se complete hasta 2020, pero Container Linux seguirá siendo compatible hasta entonces. Según Red Hat, “casi todas” las funciones de CoreOS Tectonic estarán disponibles después de la transición.

Consulte la revisión de CoreOS Container Linux para obtener más detalles.

Vídeo relacionado: ¿Qué es Kubernetes?

En este video de 90 segundos, conozca Kubernetes, el sistema de código abierto para automatizar aplicaciones en contenedores, de uno de los inventores de la tecnología, Joe Beda, fundador y CTO de Heptio.

Distribución canónica de Kubernetes

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

La distribución de Kubernetes de Canonical también está disponible en una versión en miniatura, Microk8s. Los desarrolladores y los recién llegados a Kubernetes pueden instalar Microk8s en una computadora portátil o de escritorio, y usarlo para pruebas, experimentación o incluso uso de 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 usar Kubernetes para administrar 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 son contenedores. Y desde 2014, Docker ha tenido su propio sistema de agrupación y orquestación, Docker Swarm, que hasta hace poco competía con Kubernetes. Luego, en octubre de 2017, Docker anunció que agregaría Kubernetes, en su estado básico sin modificar, como un paquete estándar con Docker Community Edition y Docker Enterprise 2.0 y ediciones posteriores.

Docker Enterprise 3.0 agrega el servicio Docker Kubernetes, una integración de Kubernetes que mantiene las versiones de Kubernetes consistentes entre los escritorios de los desarrolladores y las implementaciones de producción. 

En resumen, Docker Inc. ha leído la escritura en el muro de 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 todavía incluye su sistema de agrupación en clústeres original, "modo enjambre", para trabajos más modestos, por ejemplo, una aplicación local detrás del firewall que probablemente no crezca mucho, o para mantener los clústeres en modo enjambre existentes que no necesita ser renovado.

Suscripción a Heptio Kubernetes

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 suscripción a Heptio Kubernetes (HKS), una implementación de Kubernetes con soporte pagado 24/7 proporcionado por Heptio. Los precios comienzan en $ 2,000 por mes.

El argumento principal con Heptio es Kubernetes de nivel empresarial sin la dependencia del proveedor. Las implementaciones pueden ejecutarse en nubes públicas o hardware privado. Todas las herramientas que ofrece Heptio para administrar las configuraciones de Kubernetes son de código abierto y las correcciones se entregan directamente a los clústeres compatibles.

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

Kontena Pharos

Considerado como "Kubernetes que simplemente funciona", Kontena Pharos sigue aproximadamente el mismo libro de jugadas que las ofertas de Linux de Red Hat. En la parte inferior, es una distribución de Kubernetes certificada por CNCF disponible bajo la licencia Apache 2 (según Fedora o CentOS). Aquellos que tienen 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, como mudarse a una infraestructura nativa de la nube.

La distribución principal de Pharos viene de serie con características básicas como actualizaciones de seguridad automáticas y múltiples tiempos de ejecución de contenedores. El producto de pago agrega herramientas empresariales, como el panel de Kontena Lens, el sistema de almacenamiento distribuido Kontena Storage, respaldo, balanceo de carga y la capacidad de implementar el clúster en un entorno con espacio de aire.

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

Servicio de contenedores pivotal (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, usa el proyecto Kubo, que también se usa en Cloud Foundry de Pivotal, para lanzar y administrar clústeres de Kubernetes.

La característica más destacada de PKS es una estrecha integración con la pila de virtualización de VMware; de hecho, PKS es un proyecto conjunto VMware-Pivotal. Los contenedores que se ejecutan en PKS tienen acceso a los servicios normalmente disponibles solo para las 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 interés creciente en Kubernetes, puede querer considerar PKS para aprovechar al máximo su configuración VMware existente.

Ranchero 2.0

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

Rancher también viene con su propia distribución de Kubernetes. Rancher está destinado a eliminar gran parte de la monotonía del proceso de configuración de un clúster de Kubernetes y personalizar Kubernetes para un entorno específico, sin permitir que esas personalizaciones se interpongan en el camino de las actualizaciones sin problemas de Kubernetes, una consideración clave para un proceso tan rápido. Proyecto en movimiento y en constante actualización.

Rancher también ofrece una distribución mínima de Kubernetes llamada K3s. Optimizado para implementaciones de bajo perfil, K3s requiere solo 512 MB de RAM por instancia de servidor y 200 MB de espacio en disco. Se ajusta a esta huella al omitir todas las funciones heredadas, de grado alfa y no esenciales, así como muchos complementos de uso menos común (aunque se pueden agregar nuevamente si es necesario).

Red Hat OpenShift

Red Hat OpenShift, el producto PaaS de Red Hat, originalmente usaba “cartuchos” tipo buildpack de Heroku para empaquetar aplicaciones, que luego se implementaban en contenedores llamados “engranajes”. Luego apareció Docker y OpenShift se modificó para hacer uso de la nueva imagen de contenedor y el estándar de tiempo de ejecución. Inevitablemente, Red Hat también adoptó Kubernetes como tecnología de orquestación dentro de OpenShift.

OpenShift se creó para proporcionar abstracción y automatización para todos los componentes de una 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 usarse para aliviar eso como parte de la misión más amplia de implementar una PaaS.

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

Consulte la revisión de Red Hat OpenShift 3 para obtener más detalles.

Contenedor de SUSE como plataforma de servicio

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

SUSE CaaS Platform 3, lanzada en 2018, agregó la funcionalidad multimaestro para hacer que los clústeres sean más resistentes a un bloqueo del nodo maestro y una función de ajuste del kernel para realizar ajustes personalizados en el kernel de Linux incluido.

La plataforma SUSE CaaS puede ejecutarse tanto en nubes públicas como en bare metal local, pero con la salvedad de que "SUSE no admite actualmente ninguna integración en la infraestructura de nube subyacente". Lo que significa que SUSE CaaS Platform no está diseñada para complementar Amazon EKS o Google Kubernetes Engine, sino para eludirlos, lo que le permite ejecutar contenedores en múltiples nubes y centros de datos. 

Telekube

Gravitational, fabricante del servidor Teleport SSH, produce Gravity, una distribución de Kubernetes “reforzada en producción” que se ejecuta en clústeres locales o remotos. Gravity se posiciona 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 Gravity deben estar preparadas para ejecutarse en contenedores en Kubernetes. También se deben empaquetar en "paquetes" que luego se publican en los clústeres de Kubernetes para su distribución. La agrupación requiere un trabajo adicional además de toda la preparación necesaria para implementar aplicaciones basadas en contenedores, pero el manifiesto de la agrupación es la única adición específica de Gravity que debe mantener.

Gravity también le permite tomar una instantánea de todo un clúster de Kubernetes, incluidas todas sus aplicaciones y configuración, e implementar la instantánea en cualquier otro entorno de Kubernetes.