DEV Community

Cynthia Vázquez
Cynthia Vázquez

Posted on

Guía completa: Cómo instalé Jenkins X en un clúster K3s

¿Por qué escribí este manual?

¿Recuerdan mi primer post? Bueno, pues parece que soy experta en encontrar errores poco comunes.

Así que me tocó hacerlo “a la antigua” :D
probar, fallar, romper, investigar, reparar, probar otra vez.

Y como me costó bastante, decidí documentarlo todo para que no tengan que sufrir lo mismo 💛✨

¿Qué encontrarás en este post?

  • Cómo instalar Jenkins X en un clúster K3s
  • Cómo configurar las variables de entorno para GitHub
  • Cómo instalar el CLI en Linux o macOS
  • Cómo resolver errores como:
    • ingress-nginx Pending
    • Pods de webhook bloqueados
  • Cómo acceder al dashboard y configurar credenciales
  • Comandos útiles para diagnóstico y limpieza

📄 También puedes descargar mi manual completo en PDF aquí 👉 Manual de Instalacion Jenkins X

Requisitos previos

  • Clúster K3s funcionando (1 master + 2 workers mínimo)
  • kubectl funcionando
  • 4GB de RAM libres
  • 20GB de disco disponible
  • Cuenta de GitHub
  • Un token de GitHub con permisos:
    • repo
    • admin:repo_hook
    • admin:org_hook (si usas organización)

Instalar el CLI de Jenkins X

En Linux

curl -L https://github.com/jenkins-x/jx/releases/latest/download/jx-linux-amd64.tar.gz | tar xzv
sudo mv jx /usr/local/bin/
jx version
Enter fullscreen mode Exit fullscreen mode

En Mac

brew install jenkins-x/jx/jx
jx version
Enter fullscreen mode Exit fullscreen mode

Configurar variables de entorno (GitHub)

export GIT_USERNAME="tu_usuario"
export GIT_TOKEN="token"
export GIT_SERVER="https://github.com"
export GIT_KIND="github"
export GIT_ORGANISATION="tu_organizacion"
Enter fullscreen mode Exit fullscreen mode

Instalación de Jenkins X en el clúster

Instalación básica

jx install --provider=kubernetes
Enter fullscreen mode Exit fullscreen mode

Con dominio personalizado

jx install --provider=kubernetes --domain=tu-dominio.com
Enter fullscreen mode Exit fullscreen mode

Sin dominio (desarrollo)

jx install --provider=kubernetes \
  --ingress-service=LoadBalancer \
  --no-default-environments=false
Enter fullscreen mode Exit fullscreen mode

Monitorea:

kubectl get pods -n jx
Enter fullscreen mode Exit fullscreen mode

Errores comunes y cómo los solucioné

1. Pod ingress-nginx en estado Pending

Causa común: El cluster no tiene LoadBalancer real (K3s carece de uno).
Solución: usar Traefik, que viene por defecto con K3s.

kubectl get pods -n kube-system | grep traefik
Enter fullscreen mode Exit fullscreen mode

2. Pods de webhook o controllers bloqueados

Solución:

kubectl get pods -n jx | grep -E 'webhook|controller'
kubectl delete pod <nombre> -n jx
watch kubectl get pods -n jx
Enter fullscreen mode Exit fullscreen mode

Los pods se recrearán solos ✨

Acceso al dashboard

Obtener URL:

jx get urls -n jx
Enter fullscreen mode Exit fullscreen mode

Si no tienes dominio:

kubectl port-forward -n jx svc/jx-pipelines-visualizer 8080:80
Enter fullscreen mode Exit fullscreen mode

Abrir:
👉 http://localhost:8080

Probar que Jenkins X funciona

Crear un quickstart:

jx create quickstart
Enter fullscreen mode Exit fullscreen mode

Ver actividad:

jx get activity -w
jx get build logs
Enter fullscreen mode Exit fullscreen mode

Reflexión final

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

Recursos útiles

Documentación oficial de Jenkins X
Troubleshooting FAQ
Mi guía

Top comments (0)