
[03/02/2023] "Lo pequeño es hermoso”, como mencionó una vez E.F. Schumacher. Kubernetes, una plataforma de orquestación de contenedores poderosa, pero en expansión, podría beneficiarse de un enfoque más simplificado. No todos necesitan el conjunto completo de herramientas y características que se encuentran en la distribución predeterminada de Kubernetes.
[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]
Es posible que no tenga el tiempo o los conocimientos técnicos para personalizar Kubernetes para aplicaciones más minimalistas, pero es muy probable que alguien más lo haya hecho por usted. Este artículo analiza tres distribuciones de Kubernetes que llevan a Kubernetes a lo básico.
Minikube
Minikube, un reempaquetado oficial de Kubernetes, proporciona una instancia local de Kubernetes lo suficientemente pequeña como para instalarla en la computadora notebook de un desarrollador. Los requisitos mínimos son 2GB de memoria libre, 2CPU, 20GB de almacenamiento y un contenedor, o administrador de máquina virtual (VM), como Docker, Hyper-V o Parallels. Tenga en cuenta que para los usuarios de Mac todavía no hay una compilación M1, solo x86-64.
Puede configurar e implementar un clúster de Minikube simple en solo dos pasos: instale el tiempo de ejecución de Minikube y escriba minikube start en la línea de comandos. Todo lo que sigue es Kubernetes estándar tal como lo conoce. Usará kubectl para interactuar con el clúster.
Casos de uso de Minikube: Muchos desarrolladores usan Minikube como un clúster de desarrollo personal o un reemplazo de Docker Desktop.
Minikube también incluye el Panel Kubernetes basado en la web, que puede usar para monitorear de un vistazo su clúster. Las aplicaciones de muestra se pueden activar con un par de comandos e incluso se pueden implementar con balance de carga.
Un uso común de Minikube es reemplazar Docker Desktop. Tenga en cuenta que hacer eso requiere a) usar el tiempo de ejecución del contenedor docker y b) ejecutar Minikube con un controlador de máquina virtual, en lugar de un tiempo de ejecución del contenedor.
k3s
k3s, un proyecto de Cloud Native Computing Foundation, es "Kubernetes ligero”. Es más adecuado para ejecutar Kubernetes en ambientes con recursos limitados. Incluso una Raspberry Pi funcionará como un dispositivo k3s, ya que k3s viene en las versiones ARM64 y ARMv7. Tenga en cuenta que no funciona en Microsoft Windows o macOS, solo en Linux moderno como Red Hat Enterprise Linux o Raspberry Pi OS.
k3s no requiere más de 512MB a 1GB de RAM, 1CPU y al menos 4GB de espacio en disco para su base de datos de clúster. Por defecto, k3s usa SQLite para su base de datos interna, aunque puede cambiarlo por etcd, el valor predeterminado convencional de Kubernetes, o por MySQL o Postgres.
Casos de uso de k3s: Esta pequeña distribución de Kubernetes se utiliza mejor para la computación de borde, escenarios integrados y retoques.
El tiempo de ejecución de core k3s es un solo binario, con muy pocos retoques necesarios para ponerse en marcha con un conjunto razonable de valores predeterminados. El proceso de configuración básico no requiere más que un solo comando de shell para descargar e instalar k3s como un servicio. También puede ejecutar k3s tal cual y en el lugar, sin instalación.
El enfoque compacto y sencillo de k3s significa que debe agregar muchas funciones a mano o mediante recetas de línea de comandos. La documentación brinda instrucciones sobre cómo agregar el panel de Kubernetes, intercambiar Docker como el tiempo de ejecución del contenedor predeterminado, ejecutar k3s en modo "air-gapped” y realizar muchas otras modificaciones útiles.
k0s
k0s, de Mirantis, también viene distribuido en un solo binario para una implementación conveniente. Sus demandas de recursos son mínimas -1 CPU y 1 GB de RAM para un solo nodo- y puede ejecutarse como un solo nodo, un clúster, una configuración de espacio de aire o dentro de Docker.
Si desea comenzar rápidamente, puede obtener el binario k0s y configurarlo como un servicio. O puede usar una herramienta de instalación dedicada, k0sctl, para configurar o actualizar varios nodos en un clúster. Es posible ejecutar k0s en Microsoft Windows, pero actualmente se considera experimental. Una función inesperadamente potente, incluida de forma predeterminada, es la actualización automática. Puede usar esta función para definir un plan orientado a actualizar el clúster según un cronograma, con medidas de seguridad implementadas para evitar una actualización interrumpida.
Casos de uso de k0s: Los casos de uso de k0s incluyen el desarrollo personal y las implementaciones iniciales que se ampliarán más adelante.
La documentación de k0s proporciona recetas para varias personalizaciones. Si desea ejecutar su clúster en modo air-gapped, por ejemplo, hay instrucciones para configurar, ejecutar y actualizar un clúster con acceso limitado a Internet. Otra receta de documentación útil detalla cómo configurar el plano de control para alta disponibilidad. Y, aunque algunos componentes no se incluyen de forma predeterminada, como el balanceo de carga y los controladores de entrada, la documentación explica cómo agregar esos componentes manualmente.
Basado en el artículo de Serdar Yegulalp (InfoWorld) y editado por CIO Perú
Puede ver también: