Helm + Flux GitOps Learning Path¶
Build practical Helm and Flux skills on a GKE cluster you already own. This topic-based path is self-paced and ends with Git automatically driving a private OCI-hosted Helm release.
What you will build¶
flowchart LR
A[Edit chart or values] --> B[Commit to GitHub]
B --> C[Flux source-controller]
D[Private Artifact Registry] --> C
C --> E[helm-controller]
E --> F[Helm release on GKE]
F -->|observed state| E
E -->|correct drift| F
By the end, you will be able to:
- explain GitOps pull delivery and Flux controller responsibilities;
- develop, test, package, and version an advanced Helm chart;
- publish Helm charts as OCI artifacts to private Artifact Registry;
- bootstrap Flux against GitHub and authenticate to Google Cloud with Workload Identity;
- deploy an
OCIRepositorythrough aHelmRelease; - diagnose drift, failed reconciliation, and failed Helm actions;
- compare Flux pull delivery with CI/CD push delivery;
- debug Helm template scope, schema, atomic upgrades, and rollout behavior;
- design Flux dependencies, values composition, pruning, drift rules, RBAC, and secret handling;
- solve realistic interview scenarios and present a portfolio-ready capstone.
Course format¶
Every topic follows the same loop:
- Learn the concepts.
- Practice with progressive labs.
- Validate with observable commands.
- Quiz yourself without notes.
- Pass a gate before moving forward.
Solutions are deliberately kept in a separate section. Work through GitOps fundamentals, advanced Helm and OCI, Flux on GKE, and GitOps operations in sequence. Try each lab first, record the output you expected, and use the solution only after you can explain where you became stuck.
Use a non-production cluster
The labs install controllers, create workloads, and deliberately introduce failures. Reuse your GKE learning cluster, not a production cluster. Always verify kubectl config current-context before a mutating command.
Start here¶
- Review the roadmap.
- Install the prerequisites.
- Define your environment variables.
- Connect to GKE.
The original source plan remains available as Helm_Flux_GitOps_Plan.md in the repository root.