Flux and its architecture
The Flux website, https://fluxcd.io, says: “Flux is a set of continuous and progressive delivery solutions for Kubernetes that are open and extensible.” Flux gives you the ability to have your Kubernetes clusters in sync with the source that contains declarative definitions of your applications, commonly stored in Git repositories.
Flux also uses the Kubernetes API to manage its objects. It also uses its own GitOps Toolkit, which gives you the tools to build a CD system on top of Kubernetes. You can see how Flux works in the following diagram:
Figure 7.2 – Flux architecture
This diagram reflects a typical workflow for GitOps, starting with a commit and a GitOps tool that is constantly checking for changes in the application’s definitions—in this case, YAML files. When Flux detects this change, it automatically provisions for the reconciliation of your applications, based on declarative definitions...