FluxCD: GitOps Begins
K8s Guru
2 min read

Table of Contents
Introduction
Flux introduces a Git‑centered deployment model for Kubernetes. Instead of pushing manifests at clusters, you declare desired state in a Git repo and let the system apply whatever’s in version control.
The 2016 Proposition
- Git as Source of Truth: PRs and commits become change requests and audit trail.
- Automated Sync: A controller periodically pulls/configs and applies manifests.
- Image Updates: Optional automation to advance images that meet your policy.
Workflow Sketch
- Commit manifests to a repo (one per environment or with overlays).
- Flux watches the repo and syncs changes to the cluster.
- Rollbacks? Revert the commit—cluster follows.
- Install via the provided DaemonSet for privileged image pulls, or opt into the Deployment variant if you only need API access.
- Grant Flux a deploy key or GitHub deploy token with read-only scope; for image automation you’ll also provide registry credentials.
Benefits
- Reproducibility and traceability out of the box.
- Cleaner review process—Ops and Devs speak in commits and PRs.
- Automation hooks watch container registries and open pull requests or branches when new tags satisfy semver policies.
- Compared with push-based CI/CD pipelines, clusters pull state on their own cadence and converge even if the CI system is offline.
Caveats
- Repo structure and access control need upfront design.
- Sync cadence and drift detection must be tuned for your teams.
- Initial image automation is opinionated around Docker Hub/GCR; private registries may need extra configuration.
Early Ecosystem
- Weaveworks is steering Flux with CNCF community calls and documenting patterns like
fluxctl release. - Projects like Gitkube and Jenkins X are exploring similar GitOps ideas, signaling a broader movement toward declarative delivery.
Conclusion
In 2016, GitOps is a fresh but compelling approach. Flux provides a practical path to continuous delivery on Kubernetes without bespoke pipelines.