¿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
webhookbloqueados
-
- 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)
-
kubectlfuncionando - 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
En Mac
brew install jenkins-x/jx/jx
jx version
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"
Instalación de Jenkins X en el clúster
Instalación básica
jx install --provider=kubernetes
Con dominio personalizado
jx install --provider=kubernetes --domain=tu-dominio.com
Sin dominio (desarrollo)
jx install --provider=kubernetes \
--ingress-service=LoadBalancer \
--no-default-environments=false
Monitorea:
kubectl get pods -n jx
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
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
Los pods se recrearán solos ✨
Acceso al dashboard
Obtener URL:
jx get urls -n jx
Si no tienes dominio:
kubectl port-forward -n jx svc/jx-pipelines-visualizer 8080:80
Abrir:
👉 http://localhost:8080
Probar que Jenkins X funciona
Crear un quickstart:
jx create quickstart
Ver actividad:
jx get activity -w
jx get build logs
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)