Llegamos a ustedes gracias a:



Reportajes y análisis

6 distribuciones de Kubernetes lideran la revolución del contenedor

[02/12/2022] Kubernetes se ha convertido en el proyecto al que recurren los desarrolladores para la orquestación de contenedores a escala. El sistema de orquestación de contenedores de código abierto de Google es bien valorado, cuenta con un buen soporte y sigue evolucionando.

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 en manos del usuario final. Por lo tanto, el mejor enfoque no es coger los trozos y tratar de ir por libre, sino buscar una solución completa de contenedores que incluya Kubernetes como un componente incluido y soportado.

[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]

Este artículo examina las seis ofertas más destacadas de Kubernetes. Se trata de distribuciones que incorporan Kubernetes junto con las herramientas de contenedores, así como los distintos proveedores ofrecen distribuciones del kernel de Linux y su zona de usuario.

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

Canonical Kubernetes

Canonical, fabricante de Ubuntu Linux, ofrece su propia distribución de Kubernetes. Uno de los grandes puntos de venta de Canonical Kubernetes es el sistema operativo Ubuntu Linux, ampliamente respetado, bien entendido y comúnmente desplegado. Canonical afirma que su stack funciona en cualquier despliegue en la nube o en las instalaciones, con soporte incluido para cargas de trabajo alimentadas por la CPU y la GPU. Los clientes de pago pueden elegir que los ingenieros de Canonical gestiones su clúster Kubernetes de manera remota.

La distribución 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 utilizarlo para pruebas, experimentación o incluso para producción en hardware de bajo perfil.

Canonical y Rancher Labs (véase más abajo) coproducen Kubernetes Cloud Native Platform, que combina la distribución Kubernetes de Canonical con la plataforma de gestión de contenedores de Rancher. La idea es utilizar Kubernetes para gestionar los contenedores que se ejecutan en cada clúster, y utilizar Rancher para gestionar múltiples clústeres Kubernetes. Cloud Native Platform está disponible a partir de Rancher 2.0.

Docker

Para muchos de nosotros, Docker es contenedores. Y desde el 2014, Docker ha tenido su propio sistema de clustering y orquestación, Docker Swarm, que hasta hace poco era un competidor de Kubernetes.

Luego, en octubre del 2017, Docker anunció que añadiría Kubernetes -en su estado sin modificar- como un paquete estándar tanto en Docker Community Edition como en Docker Enterprise 2.0 y ediciones posteriores. Docker Enterprise 3.0 añadió el servicio Docker Kubernetes, una integración que mantiene la coherencia de las versiones de Kubernetes entre los escritorios de los desarrolladores y los despliegues de producción.

Tenga en cuenta que Docker Desktop solo envía la última versión de Kubernetes, por lo que, si bien es útil para empezar con la edición actual en una máquina local, es menos útil para hacer girar los clústeres locales que requieren versiones anteriores (por ejemplo, un clon limitado de algún clúster de producción).

VMware Tanzu Kubernetes Grid

La plataforma de aplicaciones Tanzu de VMware se utiliza para crear aplicaciones modernas y nativas de la nube en Kubernetes a través de múltiples infraestructuras. La Tanzu Kubernetes Grid (TKG) es donde Kubernetes figura.

El núcleo de TKG es una distribución certificada de Kubernetes, con integración para vSphere 8 y otros productos actuales de VMware. Cualquier carga de trabajo en contenedores está pensada para ejecutarse en TKG, pero las aplicaciones que pueden utilizar niveles de abstracción más altos que las metáforas de Kubernetes pueden utilizar el Tanzu Application Service PaaS (antes Pivotal Application Service). Si necesita el control granular sobre los recursos que proporciona Kubernetes, utilice TGK; para cargas de trabajo más genéricas, Tanzu Application Service debería hacer el trabajo.

Mirantis Kubernetes Engine

Anteriormente conocido como Docker Enterprise UCP (Universal Control Plane), el Mirantis Kubernetes Engine (MKE) está más alineado con sus orígenes en Docker que algunas de las otras distribuciones de Kubernetes discutidas aquí. Por un lado, permite gestionar tanto contenedores Docker como Docker Swarm. Esto es conveniente porque Swarm es la tecnología de organización de contenedores originalmente desarrollada para Docker y es menos compleja que Kubernetes.

MKE es un producto exclusivamente de Linux, pero no proporciona una distribución de Linux para instalar. Mirantis recomienda usar Ubuntu Server, ya sea en bare metal o en una máquina virtual.

Para aquellos que quieren una experiencia de Kubernetes lo más mínima posible, Mirantis también ofrece k0s, una distribución de Kubernetes entregada como un único binario que puede ejecutarse en sistemas con tan solo un núcleo de CPU, 1GB de RAM y unos pocos gigabytes de espacio en disco.

La empresa también desarrolla Lens, un entorno de desarrollo integrado (IDE) de código abierto para la gestión de Kubernetes. Se puede utilizar Lens con cualquier distribución de Kubernetes, no solo con MKE.

Rancher Kubernetes Engine

Rancher Labs incorporó Kubernetes a su plataforma de gestión de contenedores -llamada Rancher- con la versión 2.0.

Rancher también viene con su propia distribución de Kubernetes, Rancher Kubernetes Engine (RKE). RKE está pensado para eliminar la pesadez del proceso de configuración de un clúster de Kubernetes y la personalización de Kubernetes para un entorno específico, impidiendo que esas personalizaciones se interpongan en el camino de las actualizaciones fluidas de Kubernetes. Esta es una consideración clave para un proyecto de rápida evolución y constante actualización.

RKE también destaca por utilizar contenedores como parte del proceso de construcción y actualización. La única parte del sistema Linux subyacente con la que interactúa Rancher es el motor de contenedores, que es todo lo que necesita RKE para configurarse y ejecutarse, y para volver a una edición anterior si las cosas no van del todo bien.

Rancher también ofrece una distribución mínima de Kubernetes llamada K3s. Optimizada para despliegues de bajo perfil, K3s solo requiere 512MB de RAM por instancia de servidor y 200MB de espacio en disco. Se ajusta a este espacio omitiendo todas las características heredadas, de grado alfa y no esenciales, así como muchos de los plugins menos utilizados (aunque puede añadirlos de nuevo si los necesita).

Red Hat OpenShift

Red Hat OpenShift, el producto PaaS de Red Hat, utilizaba originalmente "cartuchos" similares a los de Heroku para empaquetar aplicaciones, que luego se desplegaban en contenedores llamados "gears". Luego llegó Docker y OpenShift fue rediseñado para utilizar el nuevo estándar de imagen y tiempo de ejecución de contenedores. Inevitablemente, Red Hat también adoptó Kubernetes como tecnología de orquestación dentro de OpenShift.

OpenShift se construyó para proporcionar abstracción y automatización para todos los componentes de un PaaS. Estas también se extienden a Kubernetes, que todavía impone una buena cantidad de carga administrativa. OpenShift puede aliviar esa carga como parte de la misión más amplia de desplegar un PaaS.

OpenShift 4, la última versión, añade algunas mejoras cosechadas de Red Hat Enterprise Linux CoreOS, como la infraestructura inmutable de esa plataforma. También permite a los operadores de Kubernetes una automatización personalizada de mayor nivel en todo Kubernetes.

Puede ver también: