Para entornos de desarrollo y pruebas, contar con un cluster Kubernetes liviano y funcional es clave. k3s, una distribución de Kubernetes simplificada, se puede ejecutar perfectamente sobre WSL2, permitiendo crear un cluster local completo sin necesidad de herramientas pesadas como Minikube o Docker Desktop.
Este artículo describe paso a paso cómo instalar y configurar k3s en WSL2, con recomendaciones prácticas para flujos DevOps y testing de microservicios.
Requisitos
- Windows 10/11 con WSL2 habilitado
- Distro Linux instalada (Ubuntu 22.04 recomendado)
- Usuario con privilegios
sudo
- Docker (opcional para algunos complementos)
Paso 1: Preparar el entorno
Actualizar paquetes e instalar herramientas necesarias:
sudo apt update && sudo apt install -y curl wget gnupg lsb-release
Verificar la red de WSL2:
ip addr show eth0
Paso 2: Instalar k3s en modo single-node
Ejecutar el script oficial:
curl -sfL https://get.k3s.io | sh -
Esto instalará k3s como un servicio y arrancará automáticamente.
Verificar que el cluster esté en funcionamiento:
sudo kubectl get nodes
Debería verse un nodo en estado Ready
.
Paso 3: Acceder a kubectl
sin sudo
Para facilitar el acceso:
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config
Comprobar acceso:
kubectl get pods -A
Paso 4: Desplegar una aplicación de prueba
Ejemplo: servidor NGINX
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
Ver el servicio expuesto:
kubectl get svc
Usar el puerto asignado (ej: 30001) para acceder desde el navegador:
http://localhost:30001
Paso 5: Usar k3s en entornos multi-node (avanzado)
También es posible crear múltiples distros WSL2 y configurar nodos worker usando direcciones IP locales, aunque este flujo requiere túneles, sincronización SSH y scripts personalizados.
Para la mayoría de los casos de desarrollo, el nodo único es suficiente.
Buenas prácticas
- Configurar
.kube/config
con perfiles personalizados - Automatizar la instalación con Makefiles o scripts
- Agregar namespaces para separar proyectos:
kubectl create ns desarrollo
- Usar
k9s
para una visualización tipo TUI
Conclusión
k3s permite implementar clusters Kubernetes funcionales en segundos, ideal para desarrollo de microservicios, CI/CD local o pruebas en pipelines. Ejecutarlo sobre WSL2 combina rendimiento, facilidad y compatibilidad total con Linux sin salir de Windows.
Ver también
- Construcción de un asistente contextual para escritorio usando IA local con acceso al sistema
- Integración de inferencia local ONNX con Windows ML en apps modernas
- Integración con servicios locales vía App Services y extensión de funcionalidades entre apps
- Implementación de Background Tasks persistentes en apps modernas
- Empaquetado de apps modernas con MSIX y configuración avanzada del manifiesto