Aller au contenu principal

Introduction à Flux


Table des matières

  1. Qu'est-ce que Flux ?
  2. Architecture modulaire
  3. Flux vs Argo CD
  4. Cas d'utilisation
  5. Exercices pratiques

1 - Qu'est-ce que Flux ?

Définition

Flux est un toolkit GitOps composé de contrôleurs Kubernetes qui synchronisent les configurations depuis Git vers le cluster.

Caractéristiques clés

CaractéristiqueDescription
ModulaireComposants séparés et indépendants
GitOps natifGit comme source de vérité
CNCF GraduatedProjet mature (anciennement Weaveworks)
CLI-firstPas d'UI native (Weave GitOps disponible)
Image AutomationMise à jour automatique des images

Historique

  • 2016 : Flux v1 créé par Weaveworks
  • 2019 : Réécriture complète (Flux v2)
  • 2021 : Rejoint la CNCF comme projet Incubating
  • 2022 : Devient CNCF Graduated
  • 2023 : Weaveworks ferme, Flux continue indépendamment

🔝 Retour à la table des matières


2 - Architecture modulaire

Composants Flux

Rôle de chaque contrôleur

ContrôleurCRDRôle
Source ControllerGitRepository, HelmRepository, BucketRécupère les sources
Kustomize ControllerKustomizationApplique les manifests Kustomize
Helm ControllerHelmReleaseGère les releases Helm
Notification ControllerAlert, ProviderEnvoie des notifications
Image ReflectorImageRepository, ImagePolicyScanne les registries
Image AutomationImageUpdateAutomationMet à jour les images dans Git

Flux est un toolkit

# Vous choisissez ce dont vous avez besoin
flux install --components=source-controller,kustomize-controller

# Ou tout installer
flux install

🔝 Retour à la table des matières


3 - Flux vs Argo CD

Tableau comparatif

CritèreFluxArgo CD
ArchitectureToolkit modulaireTout-en-un
UI NativeNon (Weave GitOps)Oui, excellente
Image AutomationNativeExtension
HelmHelmRelease CRDIntégré
Multi-clusterDistribuéCentralisé
Courbe d'apprentissageMoyenneFacile
CNCF StatusGraduatedGraduated

Quand choisir Flux ?

  • Préférence pour une approche CLI/GitOps pure
  • Besoin d'image automation native
  • Architecture modulaire souhaitée
  • Équipe à l'aise avec Kubernetes CRDs

Quand choisir Argo CD ?

  • Besoin d'une UI pour les équipes
  • Gestion multi-cluster centralisée
  • Équipe débutante en GitOps
  • Onboarding rapide des développeurs

🔝 Retour à la table des matières


4 - Cas d'utilisation

Entreprises utilisant Flux

EntrepriseUsage
MicrosoftAzure Arc, AKS GitOps
AWSEKS Anywhere
D2iQKubernetes platform
VMwareTanzu

Scénarios typiques

ScénarioDescription
Platform TeamGestion centralisée des clusters
Image AutomationCD sans pipeline de déploiement
Multi-tenantIsolation par namespace/repo
EdgeDéploiement sur clusters edge

🔝 Retour à la table des matières


5 - Exercices pratiques

Quiz

Q1. Quelle est la principale différence architecturale entre Flux et Argo CD ?

Réponse

Flux est un toolkit modulaire avec des contrôleurs séparés et indépendants, tandis qu'Argo CD est une solution tout-en-un monolithique. Avec Flux, vous installez uniquement les composants dont vous avez besoin.

Q2. Quel contrôleur Flux permet la mise à jour automatique des images ?

Réponse

L'Image Automation Controller (avec Image Reflector Controller) permet de scanner les registries et de mettre à jour automatiquement les références d'images dans Git.

Q3. Flux a-t-il une UI native ?

Réponse

Non, Flux n'a pas d'UI native. Cependant, Weave GitOps (anciennement de Weaveworks) fournit une UI pour Flux. L'approche Flux est CLI-first.

🔝 Retour à la table des matières


Points clés à retenir

  • Flux = toolkit GitOps modulaire
  • Composants : Source, Kustomize, Helm, Notification, Image Controllers
  • CLI-first, pas d'UI native
  • Image Automation native (avantage sur Argo CD)
  • CNCF Graduated : maturité et adoption

Chapitre suivant : Installation →