Flux
À quoi il sert
Flux applique les mêmes principes qu'Argo CD (état voulu dans Git, tiré et réconcilié en continu par des agents dans le cluster), avec une autre conception : un ensemble de contrôleurs composables. Des ressources de source décrivent d'où viennent les manifestes (dépôt Git, dépôt Helm, artefact OCI), des ressources Kustomization et HelmRelease décrivent ce qu'il faut appliquer. Avec Helm, Flux installe de vraies releases Helm, gérées par son contrôleur Helm. Des contrôleurs d'automatisation d'images, intégrés, peuvent écrire les nouvelles étiquettes d'images dans Git. C'est un projet diplômé de la CNCF (novembre 2022).
Quand le choisir
Pour une équipe qui veut un outil réduit à ses contrôleurs, sans interface, gouverné uniquement par le RBAC de Kubernetes, en général avec une instance par cluster. Quand il faut une interface partagée avec des équipes de développement, une authentification unique et un pilotage centralisé de plusieurs clusters, Argo CD convient mieux.
Points d'attention
- Pas d'interface web intégrée : l'état se lit avec la ligne de commande
flux,kubectlou un outil tiers. - Les droits passent par le RBAC de Kubernetes : la séparation entre équipes se conçoit avec les comptes de service et les namespaces, pas avec des projets propres à l'outil.
- Une instance par cluster isole les incidents et les identifiants, mais multiplie les installations à mettre à jour.
Par où commencer
La section « Et Flux ? » de la leçon Exploiter Argo CD, qui compare les deux outils (Flux 2.9.6 au moment de l'écriture). Les concepts du cours GitOps avec Argo CD (réconciliation, promotion par demande de fusion, secrets résolus dans le cluster) s'appliquent aussi à Flux.