Empezar con minikube o k3s en tu VPS
Dedicated & VPS
2

No necesitas cloud para aprender Kubernetes

Una idea falsa muy extendida es que para probar Kubernetes hay que contratar un cluster gestionado en AWS o Google. La verdad es que existen distribuciones ligeras pensadas justo para lo contrario: tu laptop, un VPS modesto o un mini servidor en casa. Las dos más populares son minikube y k3s.

minikube: para aprender en local

minikube monta un cluster de un solo nodo dentro de una máquina virtual o un contenedor Docker en tu equipo. Está pensado para desarrolladores que quieren experimentar con Kubernetes sin tocar infraestructura real. Ventajas: fácil de instalar, reproduce casi todo el comportamiento de un cluster oficial, viene con addons útiles (dashboard, ingress, metrics-server).

Instalación típica:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start --driver=docker
minikube addons enable ingress

Úsalo si: estás aprendiendo, quieres probar un chart de Helm, o necesitas un entorno de desarrollo que se parezca al de producción pero sin costos.

k3s: para producción ligera

k3s es una distribución certificada de Kubernetes mantenida por Rancher/SUSE, diseñada para correr en entornos con pocos recursos: IoT, edge, Raspberry Pi, VPS pequeños. Es un único binario de unos 70 MB que incluye todo: API server, scheduler, controller-manager, containerd y un ingress (Traefik) por defecto. Usa SQLite en vez de etcd cuando es un solo nodo, lo que simplifica mucho la operación.

Instalarlo en un VPS con Ubuntu es casi trivial:

curl -sfL https://get.k3s.io | sh -
sudo kubectl get nodes

En menos de un minuto tienes un cluster funcional. Para añadir más nodos (k3s se llama "server" al master y "agent" al worker) solo ejecutas otro comando con el token que generó el primero.

Diferencias clave con Kubernetes completo

  • Tamaño: k3s reduce el footprint a menos de 512 MB de RAM para funcionar.
  • Base de datos: SQLite por defecto en lugar de etcd. Puedes cambiarlo si quieres alta disponibilidad.
  • Componentes en un solo proceso: menos servicios corriendo, menos RAM.
  • Ingress incluido: viene con Traefik listo; k8s estándar no trae ninguno.
  • Sin cloud providers integrados: si quieres un LoadBalancer, instalas uno aparte como MetalLB.

Aun así, k3s pasa el test de conformidad de la CNCF: lo que funciona en Kubernetes estándar funciona en k3s.

Tu primer deploy

Una vez tengas el cluster arriba, prueba con algo simple:

kubectl create deployment hello --image=nginxdemos/hello
kubectl expose deployment hello --port=80 --type=ClusterIP
kubectl get pods
kubectl port-forward svc/hello 8080:80

Abre http://localhost:8080 y verás la página de demo. Enhorabuena, ya corriste tu primera app en Kubernetes.

Cuál elegir

  • Para aprender y desarrollar en tu propia máquina: minikube.
  • Para producción ligera en un VPS, edge o homelab: k3s.
  • Para producción crítica con alta disponibilidad multinodo en cloud: un servicio gestionado tipo EKS, GKE o DOKS.

Un consejo final

Antes de saltar a un cluster gestionado caro, pasa un par de semanas con minikube o k3s. Te ahorrarás dinero y aprenderás más sobre cómo funcionan las piezas de Kubernetes, porque en las distribuciones ligeras casi todo está a la vista.