Si llevas tiempo en el mundo DevOps, seguro que recuerdas la “vieja escuela” para aprender Kubernetes: descargar VirtualBox, pelearte con Vagrant, esperar a que se bajen imágenes de sistemas operativos completos y rezar para que tu portátil tuviera suficiente memoria RAM para aguantar tres máquinas virtuales simultáneas.
Funcionaba, sí. Pero era lento, pesado y doloroso para los ventiladores de tu ordenador.
En 2025, eso ya no tiene sentido. La industria ha madurado y las herramientas de desarrollo local también. Hoy quiero enseñarte cómo levanto yo mis entornos de laboratorio usando Kind (Kubernetes in Docker).
Esta es la misma configuración que utilizo en la nueva edición actualizada de mi libro “Érase una vez Kubernetes”: ligera, rápida y compatible con la versión 1.34.
¿Por qué Kind y no Minikube o Vagrant?
Aunque Minikube es fantástico, Kind brilla por su arquitectura: ejecuta los nodos de Kubernetes como contenedores Docker, no como máquinas virtuales completas.
- Velocidad: Un cluster multicapa arranca en menos de 60 segundos.
- Recursos: Se acabaron las reservas fijas de 4GB de RAM por nodo. Docker gestiona la memoria dinámicamente.
- Realismo: Nos permite simular arquitecturas complejas (High Availability, Ingress, Storage Classes) editando un simple archivo YAML.
Requisitos Previos
Para seguir este tutorial, asegúrate de tener instalado en tu máquina:
Docker(v27.0.0 o superior).kubectl(v1.32.0 o superior).kind(v0.30.0 o superior).
Manos a la obra: Tu cluster en 3 pasos
Vamos a desplegar un cluster con 1 nodo Control-Plane y 2 nodos Worker, simulando un entorno de producción real.
1. El Código Fuente
No tienes que inventar nada desde cero. He liberado el código de infraestructura del libro en GitHub para que cualquiera pueda usarlo. Clona el repositorio:
git clone https://github.com/mmorejon/erase-una-vez-k8s.git
cd erase-una-vez-k8s
Nota: Asegúrate de estar en la rama
mainpara acceder a la versión moderna con Kind.
2. La Automatización
Dentro del repositorio, encontrarás un script diseñado para automatizar las tareas tediosas (crear el cluster, instalar el CNI de red, configurar el StorageClass por defecto, etc.).
Ejecútalo con el siguiente comando desde la raíz del proyecto:
./bash/cluster.sh create
3. El Resultado
En menos de lo que tardas en prepararte un café, verás cómo Kind descarga la imagen de nodo (kindest/node:v1.34.0), levanta los contenedores y configura automáticamente tu contexto de kubectl.
Deberías ver una salida similar a esta en tu terminal:

Puedes verificarlo manualmente comprobando el estado de los nodos:
kubectl get nodes
Salida esperada:
NAME STATUS ROLES AGE VERSION
book-control-plane Ready control-plane 2m10s v1.34.0
book-worker Ready <none> 1m45s v1.34.0
book-worker2 Ready <none> 1m45s v1.34.0
Si ves los tres nodos corriendo la versión v1.34, ¡felicidades! Ya tienes un Data Center completo corriendo en tu portátil.
¿Y ahora qué? (El siguiente nivel)
Tener el cluster encendido es solo el principio. Un cluster vacío no aporta valor; lo importante es lo que despliegas sobre él.
¿Sabes cómo gestionar los secretos de forma segura? ¿Cómo configurar un Ingress para acceder a tus apps desde fuera? ¿Cómo realizar actualizaciones sin caída de servicio (Rolling Updates)?
He diseñado este entorno específicamente para acompañar los laboratorios de mi libro, “Érase una vez Kubernetes”. Acabo de liberar la Edición Actualizada 2025, donde te guío paso a paso desde este cluster vacío hasta dominar la arquitectura Cloud Native moderna.
Si quieres dejar de copiar comandos y empezar a entender la arquitectura detrás de ellos:
- 📘 Consigue el libro en Amazon: Ver precio y opiniones
- 📲 Formato digital en LeanPub: Descargar eBook
- 💻 Revisa el código completo: Ver Repositorio en GitHub
¡Nos vemos en el cluster!
comments powered by Disqus