Cómo logré montar mi primer clúster K3s (sin morir en el intento)


Una guía práctica basada en errores reales para montar un clúster K3s en Ubuntu 22.04.
Si alguna vez quisiste instalar un clúster Kubernetes ligero en Ubuntu y terminaste con errores que ni Google conocía… este post es para ti 😀




¿Por qué escribí esta guía?

Hace poco comencé a trabajar con servidores durante mis prácticas profresionales.
Tenía que montar un clúster Kubernetes, pero me encontré con un gran problema:

-> La mayoría de guías eran muy básicas o estaban incompletas.

-> Los errores que me salían eran tan específicos que ni StackOverflow los tenía.

-> Y bueno… entender documentación técnica en inglés no es mi fuerte :c

Así que decidí anotar cada error, comando y solución que encontraba.

Un amigo me dijo: “¿Por qué no lo subes a Dev.to? Seguro ayudas a más gente”

Y bueno, aquí estamos 💻💙



Qué encontrarás en este post

  • Cómo instalar K3s en Ubuntu 22.04
  • Cómo conectar 1 master y 2 nodos workers
  • Configuración de firewall, SSH y transferencia de archivos
  • Solución a errores raros como el port 6444 already in use
  • Un resumen rápido de comandos útiles

📄 Puedes descargar la guía completa en PDF aquí 👉 K3s Installation Manual




Requisitos previos

  • 3 servidores con Ubuntu 22.04
  • Conectividad entre todos los nodos
  • Acceso sudo
  • Paciencia (y café, mucho café)



Instalación del nodo master

curl -sfL https://get.k3s.io | sh -
sudo systemctl status k3s
sudo kubectl get nodes 
Enter fullscreen mode

Exit fullscreen mode

Si todo va bien, deberías ver tu nodo master con estado “Ready”.

Para usar kubectl sin sudo, recomiendo crear un grupo k8s-admins y reinstalar K3s con permisos correctos (lo explico a detalle en el PDF)



Añadiendo los worker nodes

En cada worker node ejecuta:

curl -sfL https://get.k3s.io | \
K3S_URL=https://MASTER_IP:6443 \
K3S_TOKEN=YOUR_TOKEN_HERE sh -
Enter fullscreen mode

Exit fullscreen mode

Luego, desde el master:

kubectl get nodes
Enter fullscreen mode

Exit fullscreen mode

¡Y listo! Si todo aparece como “Ready”, tienes tu primer clúster K3s funcionando



Solución de errores comunes

El worker no aparece en el clúster

Revisa los logs:

sudo journalctl -u k3s-agent.service --no-pager
Enter fullscreen mode

Exit fullscreen mode

Si aparece address already in use, significa que el puerto 6444 está ocupado.

sudo lsof -i :6444
sudo kill -9 
Enter fullscreen mode

Exit fullscreen mode

Y si eso no basta, la guía incluye pasos para reinstalar desde cero sin romper todo.



Configuración de firewall

En el master:

sudo ufw allow 6443/tcp
sudo ufw allow 10250/tcp
sudo ufw allow 8472/udp
sudo ufw allow 2379:2380/tcp
sudo ufw allow 22/tcp
sudo ufw enable
Enter fullscreen mode

Exit fullscreen mode

⚠️ No cierres el puerto 22 o perderás acceso SSH. (Lo aprendí a la mala 💀)



Administración de contenedores

kubectl get pods -A
sudo k3s crictl ps
Enter fullscreen mode

Exit fullscreen mode

Usa kubectl para ver el clúster y crictl para depurar contenedores.



Reflexión final

Documentar mis errores me enseñó más que seguir tutoriales paso a paso.
Cada fallo que resolvía me ayudaba a entender realmente cómo funciona Kubernetes.

Si estás aprendiendo DevOps: documenta todo.
Tu “error raro del día” podría ser la solución que alguien más necesita mañana 💡



Recursos útiles



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *