Skip to main content

Introduction to Flux


Table of Contents

  1. What is Flux?
  2. Modular architecture
  3. Flux vs Argo CD
  4. Use cases
  5. Hands-on exercises

1 - What is Flux?

Definition

Flux is a GitOps toolkit made up of Kubernetes controllers that synchronize configurations from Git to the cluster.

Key characteristics

CharacteristicDescription
ModularSeparate and independent components
GitOps nativeGit as the source of truth
CNCF GraduatedMature project (formerly Weaveworks)
CLI-firstNo native UI (Weave GitOps available)
Image AutomationAutomatic image updates

History

  • 2016: Flux v1 created by Weaveworks
  • 2019: Complete rewrite (Flux v2)
  • 2021: Joined the CNCF as an Incubating project
  • 2022: Became CNCF Graduated
  • 2023: Weaveworks shuts down, Flux continues independently

🔝 Back to table of contents


2 - Modular architecture

Flux components

Role of each controller

ControllerCRDRole
Source ControllerGitRepository, HelmRepository, BucketFetches sources
Kustomize ControllerKustomizationApplies Kustomize manifests
Helm ControllerHelmReleaseManages Helm releases
Notification ControllerAlert, ProviderSends notifications
Image ReflectorImageRepository, ImagePolicyScans registries
Image AutomationImageUpdateAutomationUpdates images in Git

Flux is a toolkit

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

# Ou tout installer
flux install

🔝 Back to table of contents


3 - Flux vs Argo CD

Comparison table

CriterionFluxArgo CD
ArchitectureModular toolkitAll-in-one
Native UINo (Weave GitOps)Yes, excellent
Image AutomationNativeExtension
HelmHelmRelease CRDBuilt-in
Multi-clusterDistributedCentralized
Learning curveMediumEasy
CNCF StatusGraduatedGraduated

When to choose Flux?

  • Preference for a CLI/pure GitOps approach
  • Need for native image automation
  • Modular architecture desired
  • Team comfortable with Kubernetes CRDs

When to choose Argo CD?

  • Need for a UI for teams
  • Centralized multi-cluster management
  • Team new to GitOps
  • Fast developer onboarding

🔝 Back to table of contents


4 - Use cases

Companies using Flux

CompanyUsage
MicrosoftAzure Arc, AKS GitOps
AWSEKS Anywhere
D2iQKubernetes platform
VMwareTanzu

Typical scenarios

ScenarioDescription
Platform TeamCentralized cluster management
Image AutomationCD without a deployment pipeline
Multi-tenantIsolation per namespace/repo
EdgeDeployment on edge clusters

🔝 Back to table of contents


5 - Hands-on exercises

Quiz

Q1. What is the main architectural difference between Flux and Argo CD?

Answer

Flux is a modular toolkit with separate and independent controllers, while Argo CD is a monolithic all-in-one solution. With Flux, you install only the components you need.

Q2. Which Flux controller enables automatic image updates?

Answer

The Image Automation Controller (with the Image Reflector Controller) makes it possible to scan registries and automatically update image references in Git.

Q3. Does Flux have a native UI?

Answer

No, Flux does not have a native UI. However, Weave GitOps (formerly from Weaveworks) provides a UI for Flux. The Flux approach is CLI-first.

🔝 Back to table of contents


Key takeaways

  • Flux = modular GitOps toolkit
  • Components: Source, Kustomize, Helm, Notification, Image Controllers
  • CLI-first, no native UI
  • Native Image Automation (advantage over Argo CD)
  • CNCF Graduated: maturity and adoption

Next chapter: Installation →