En lo que respecta a la contenedorización, una configuración sencilla de Docker Engine es más que suficiente. Pero una vez que comience a alojar más servicios y aplicaciones en su hardware local, le resultará difícil realizar un seguimiento de todo. La situación se complica aún más si intenta administrar aplicaciones en contenedores en varios sistemas en su laboratorio doméstico.

Afortunadamente, Kubernetes puede manejar las tediosas tareas asociadas con el aprovisionamiento de contenedores. Teniendo en cuenta la pronunciada curva de aprendizaje asociada conKubernetes, podría terminar preguntándose si vale la pena usar esta herramienta en su laboratorio doméstico. La respuesta corta es... sí. Bueno, más o menos.

Relacionado
A continuación te indicamos cómo puedes configurar Docker Desktop en tu PC con Windows 11

Con un poco de esfuerzo, puedes alojar tus contenedores Docker favoritos en el sistema operativo insignia de Microsoft

¿Qué es Kubernetes?

No, no es lo mismo que Docker

Kubernetes, que suele utilizarse en entornos de producción intensivos, es una herramienta de orquestación de contenedores diseñada para funcionar con varios servidores. En términos más simples, se puede pensar en Kubernetes (o K8s, como lo llama cariñosamente la comunidad) como una plataforma de gestión de contenedores que se encarga de todo, desde la implementación de un contenedor hasta la asignación de recursos y la garantía de que siga funcionando en caso de que el servidor que lo ejecuta se desconecte.

Kubernetes realiza sus operaciones de administración mediante pods. Cada pod envuelve un contenedor (o un grupo de contenedores, si trabaja con aplicaciones estrechamente acopladas) y es responsable de proporcionar la dirección IP, los recursos de almacenamiento y las provisiones de escalado a los servicios en contenedores. Estos pods se pueden replicar en todos los nodos, que son las estaciones de trabajo (o máquinas virtuales) que forman parte de su clúster K8s. En caso de que sus pods dejen de funcionar, Kubernetes extrae una réplica del pod (llamada ReplicaSet) para garantizar que los contenedores dentro del pod fallido sigan funcionando.

Si te preguntas cómo encaja Docker en la ecuación de K8s, es la herramienta de ejecución en tiempo real más común para ejecutar tus contenedores. Mientras tanto, Kubernetes es responsable de administrar, escalar y automatizar estos contenedores en múltiples servidores. Curiosamente, Docker está lejos de ser la única opción, ya que puedes usar Podman o Containerd como plataforma de ejecución de contenedores con la misma facilidad.

¿Por qué deberías ejecutar Kubernetes en tu laboratorio doméstico?

Automatizar contenedores… a costa de pasar horas aprendiendo K8s

Aunque los laboratorios domésticos suelen ejecutar contenedores dentro de una única máquina virtual o directamente sobre su plataforma de virtualización, existen ciertas ventajas de utilizar Kubernetes dentro de un entorno de alojamiento autónomo informal. Si necesita soporte de alta disponibilidad para sus servicios esenciales, la naturaleza autorreparadora de los ReplicaSets de Kubernetes puede resultar útil, especialmente si tiene varios nodos en su clúster K8s. Mientras tanto, el aspecto de escalabilidad de Kubernetes tiene una utilidad de nicho en el campo de los laboratorios domésticos, ya que es más útil en servidores orientados a la producción donde puede que tenga que tener en cuenta picos repentinos de carga para sus aplicaciones en contenedores.

Para los entusiastas de la informática que buscan una carrera en los campos de DevOps y/o administración de sistemas, definitivamente vale la pena probar Kubernetes. Teniendo en cuenta que puedes implementar unclúster K8s en Raspberry Pi, no necesitas desembolsar miles de dólares en hardware o facturas de energía solo para obtener un entorno de aprendizaje decente de Kubernetes. K8s no solo proporciona experiencia práctica esencial con la automatización, la supervisión y el escalado de contenedores, sino que también puedes usarlo para perfeccionar tus habilidades de programación de scripts YAML y JSON. Además, puedes usarlo junto con otras herramientas de nivel industrial comoAnsibley GitLab CI/CD para convertir tu laboratorio hogareño informal en un entorno de producción intensivo.

¿Es un servidor Kubernetes excesivo para los laboratorios domésticos?

El panel de control de MicroK8s ejecutándose en Ubuntu

Si bien me considero un ávido aprendiz de Kubernetes, admito que es un poco excesivo para el laboratorio hogareño promedio. Si su carga de trabajo principal implica cambiar de distribución y alojar un par de contenedores, no hay muchas razones para pasar horas familiarizándose con los comandos de Kubernetes y la sintaxis YAML/JSON. Del mismo modo, para los aficionados que ejecutan servidores YunoHost o UmbrelOS simples, no hay muchas razones para sumergirse en la madriguera de conejo de K8s.

Pero, de nuevo, la razón de ser de los laboratorios domésticos es que puedes experimentar con hardware de nivel de servidor y utilidades de software de nivel de producción, aunque es demasiado complejo para servidores domésticos ocasionales. Aun así, recomendaría darle una oportunidad a Kubernetes, especialmente si eres alguien a quien le gusta aprender nuevas herramientas.

Relacionado
25 comandos esenciales que todo usuario de Docker debería conocer

La interfaz de línea de comandos de Docker puede parecer intimidante, ¡pero estos comandos pueden ayudarte a dominarla en poco tiempo!