Introducción a Minikube
Minikube es una herramienta que permite ejecutar un clúster de Kubernetes de un solo nodo en tu máquina local, ideal para desarrolladores y administradores que desean probar aplicaciones sin necesidad de infraestructura en la nube. En entornos Linux, su integración es fluida porque aprovecha el kernel y los contenedores nativos del sistema. Este post te guiará paso a paso desde la instalación hasta el despliegue de tu primera aplicación, usando solo la línea de comandos y paquetes estándar de la mayoría de distribuciones.
Requisitos previos
Antes de comenzar, asegúrate de tener una distribución Linux reciente (Ubuntu 22.04, Fedora 38 o similar) con acceso a sudo. Necesitarás un hipervisor compatible; Minikube soporta Docker, VirtualBox y KVM2, siendo Docker la opción más sencilla si ya lo tienes instalado. También es útil contar con curl y wget para descargar binarios, y tener habilitada la virtualización en la BIOS (VT‑x/AMD‑v). Verifica que tu usuario pertenezca al grupo docker para evitar usar sudo cada vez que ejecutes contenedores.
Instalación de dependencias
Primero instala Docker, que será el driver por defecto de Minikube. En Ubuntu puedes ejecutar sudo apt update && sudo apt install -y docker.io y luego sudo systemctl enable --now docker. En Fedora usa sudo dnf install -y docker y sudo systemctl enable --now docker. Añade tu usuario al grupo Docker con sudo usermod -aG docker $USER y reinicia la sesión. Después, instala kubectl, la CLI de Kubernetes: descúbrelo con curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl", hazlo ejecutable y muévelo a /usr/local/bin.
Descarga e instalación de Minikube
Obtén el binario más reciente de Minikube desde su página oficial. Ejecuta curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64, luego sudo install minikube-linux-amd64 /usr/local/bin/minikube. Verifica la instalación con minikube version. Si prefieres usar un gestor de paquetes, en Ubuntu puedes añadir el repositorio deb https://apt.kubernetes.io/ kubernetes-xenial main y instalar con apt, pero el método binario garantiza la versión más actual.
Iniciar el clúster
Con las dependencias listas, lanza Minikube especificando Docker como driver: minikube start --driver=docker. El comando descargará una imagen de Linux ligera con los componentes de Kubernetes (etcd, apiserver, controller manager, kubelet) y creará un único nodo. Este proceso puede tomar varios minutos la primera vez; observa la salida para confirmar que el clúster está en estado Running. Puedes verificar los nodos con kubectl get nodes y el panel de control con minikube dashboard.
Interactuar con kubectl
Una vez que el clúster está activo, kubectl apunta automáticamente al contexto de Minikube. Prueba ejecutando kubectl get pods -A para ver los pods del sistema. Despliega una aplicación de prueba, por ejemplo un servidor nginx: kubectl create deployment nginx --image=nginx. Luego expón el puerto con kubectl expose deployment nginx --port=80 --type=NodePort. Obtén el URL de acceso con minikube service nginx --url y ábrelo en tu navegador para ver la página predeterminada de nginx.
Ejemplo de despliegue completo
Para consolidar el conocimiento, despliega una aplicación web sencilla con un archivo YAML. Crea un archivo app.yaml con un Deployment que tenga tres réplicas de una imagen de contenedor que sirva una página HTML estática y un Service de tipo LoadBalancer (en Minikube se comporta como NodePort). Aplica el manifiesto con kubectl apply -f app.yaml. Verifica que los pods estén listos con kubectl get pods -w y que el servicio esté accesible mediante minikube service app --url. Este flujo muestra cómo pasar de la línea de comandos a declaraciones de infraestructura como código.
Buenas prácticas y limpieza
Cuando termines de experimentar, detén el clúster para liberar recursos: minikube stop. Si deseas borrar todo el estado y comenzar de nuevo, usa minikube delete. Recuerda que los volúmenes persistentes creados con hostPath persisten fuera del clúster; elimínalos manualmente si no los necesitas. Mantén actualizados tanto Minikube como kubectl siguiendo el mismo procedimiento de descarga o suscribiéndote a los canales de lanzamiento de cada proyecto. Finalmente, revisa los logs con minikube logs para depurar problemas de arranque.
Conclusión
Minikube transforma tu estación de trabajo Linux en un entorno de prueba completo para Kubernetes, permitiéndote validar configuraciones, probar Helm charts y familiarizarte con la API sin costos de infraestructura. Siguiendo los pasos de instalación, configuración y despliegue descritos, tendrás una base sólida para avanzar hacia clústeres de producción en la nube o en centros de datos locales. La combinación de la línea de comandos, manifiestos YAML y el panel de control brinda una experiencia de aprendizaje integral que es esencial para cualquier profesional de DevOps o desarrollo de aplicaciones contenedoras.


