Gestiona Flux con la CLI de Flux
Comprueba, inspecciona, reconcilia, compara, rastrea, suspende y soluciona problemas de recursos de Flux desde la terminal.
Flux no tiene una interfaz web integrada. Todo lo que haces día a día pasa por la CLI flux y kubectl, lo que también facilita automatizarlo con scripts. Esta guía asume que Flux tiene bootstrap hecho y que la Kustomization webapp de las guías anteriores existe.
Instala la CLI y comprueba el clúster
Instala la CLI (brew install fluxcd/tap/flux en macOS, o curl -s https://fluxcd.io/install.sh | sudo bash) y compruébala:
flux --version
flux check --pre # antes de instalar: ¿es compatible el clúster?
flux check # tras instalar: ¿están sanos los controladores?
Ejecuta flux --help para listar los comandos. La mayoría de los comandos leen del namespace flux-system por defecto. Añade -A (--all-namespaces) para mirar en todas partes, o -n <namespace> para uno concreto.
Inspecciona lo que existe
flux get all -A
flux get sources git
flux get kustomizations
flux get helmreleases -A
Cada fila muestra la revisión del objeto, si está Ready, si está suspendido y el último mensaje de estado. flux get all -A es un buen primer comando cuando algo parece ir mal. Para ver cómo se relacionan los objetos:
flux tree kustomization flux-system
flux trace deployment webapp -n webapp
tree lista todo lo que gestiona una Kustomization. trace va en sentido contrario: dado un objeto en vivo, muestra de qué Kustomization y de qué source y revisión de Git procede.
Reconcilia bajo demanda
Flux consulta según un intervalo. Para forzarlo ahora:
flux reconcile source git flux-system
flux reconcile kustomization webapp --with-source
flux reconcile helmrelease podinfo -n podinfo
--with-source actualiza el source de Git antes de aplicar, de modo que un commit que acabas de subir se recoge de inmediato.
Previsualiza antes de hacer push
Dos comandos renderizan y comparan sin cambiar el clúster, lo que es útil en revisión de código y en CI:
flux build kustomization webapp --path ./apps/webapp --dry-run
flux diff kustomization webapp --path ./apps/webapp
build imprime los manifiestos que Flux aplicaría. diff los compara con lo que está en ejecución. Ambos leen de una carpeta local, así que ejecútalos desde un clon del repositorio.
Soluciona problemas
flux logs --all-namespaces --level=error --follow
flux events --for Kustomization/webapp
kubectl describe kustomization webapp -n flux-system
flux logs transmite los logs de los controladores, flux events muestra los eventos de Kubernetes de un objeto concreto y kubectl describe muestra las condiciones y el último error de un objeto. Causas comunes de una Kustomization que falla son una path incorrecta, una dependencia ausente (comprueba dependsOn), YAML inválido o una comprobación de salud fallida cuando wait: true está definido. En un GitRepository atascado, describe suele mostrar un error de autenticación.
Crea recursos sin escribir YAML
La mayoría de los comandos flux create pueden imprimir YAML en lugar de aplicarlo. Haz commit de la salida en Git, lo que mantiene todo declarativo:
flux create source git webapp-config \
--url=https://github.com/your-org/webapp-config \
--branch=main --interval=1m --export > webapp-source.yaml
flux create kustomization webapp \
--source=GitRepository/webapp-config \
--path=./apps/webapp --prune=true --interval=10m --export > webapp.yaml
Sin --export el comando aplica el objeto directamente, lo cual está bien para experimentos pero deja el clúster desincronizado respecto a Git. Para volcar objetos existentes como YAML, usa flux export:
flux export source git --all
flux export kustomization --all
Pausa, reanuda y limpia
flux suspend kustomization webapp
flux resume kustomization webapp
flux delete kustomization webapp
flux uninstall
suspend detiene la reconciliación y resume la reinicia. delete elimina la Kustomization y, con prune: true, también elimina los recursos que gestiona, así que puede tardar un momento. uninstall elimina el propio Flux del clúster. Ejecuta flux get kustomizations después para confirmarlo.
Extras prácticos
flux statsresume cuántos recursos de Flux existen y cuántos están listos.- Flux 2.9 añadió un sistema de plugins de CLI (
flux plugin) con plugins comomirroryschema. Ejecutaflux plugin --helppara ver qué ofrece tu versión. - Como no hay interfaz, muchos equipos añaden dashboards de Grafana o un dashboard de la comunidad sobre las métricas que expone Flux.
Guías populares
-
Push vs Pull: cómo entrega Flux en Kubernetes Por qué la entrega basada en pull y dirigida por Git cambia cómo despliegas, proteges y recuperas clústeres. -
Despliega tu primera aplicación con un GitRepository y una Kustomization Apunta Flux a manifiestos en Git usando un recurso Kustomization y observa cómo se sincroniza. -
Controla el comportamiento de sincronización: intervalos, prune, corrección de desviaciones y rollback Decide cuándo Flux aplica los cambios, qué elimina, cómo pausarlo y cómo deshacer un mal despliegue. -
Automatiza las actualizaciones de imágenes con Flux Image Automation Deja que Flux detecte nuevas etiquetas de imágenes de contenedor y las confirme en Git. -
Configura multiclúster con Flux Gestiona varios clústeres desde un solo repositorio, con infraestructura compartida y diferencias por clúster. -
Flux CD vs Argo CD: cómo elegir una herramienta GitOps Compara arquitectura, interfaz, Helm, secretos, multi-tenancy y automatización de imágenes para elegir la herramienta adecuada.