In this post, we explore one of the most powerful capabilities of Azure Arc-enabled Kubernetes: GitOps automation.
GitOps allows you to manage and deploy applications declaratively using a Git repository as the single source of truth. When combined with Azure Arc, it gives you full control over Kubernetes clusters running anywhere β including on-prem, in AWS, GCP, or edge sites.
π€ What is GitOps?
GitOps is a model where:
- Git repositories store your desired cluster state (YAML manifests)
- An agent (usually Flux or Argo CD) continuously syncs the repo with the cluster
- Drift is automatically corrected
- All changes are traceable via Git history
With Arc-enabled Kubernetes, GitOps is built-in via Flux v2, integrated directly through the Azure portal or CLI.
βοΈ GitOps Architecture with Azure Arc
Once a cluster is connected with Arc, you can:
- Enable GitOps via the Azure CLI or portal
- Deploy one or more Flux configurations
- Point to a public or private Git repo
- Define sync intervals and scopes (cluster-wide or namespace)
Each config deploys Helm charts or raw YAML β perfect for:
- Baseline tools (e.g. Ingress controllers, monitoring agents)
- Workload deployments
- Custom policies or network rules
π Setting Up GitOps with Azure Arc
Hereβs a simple CLI example:
|
|