Skip to content

Deploying with GitOps

What is GitOps?

GitOps is a way of managing your infrastructure and applications so that the whole system is described declaratively and version controlled (most likely in a Git repository), and having an automated process that ensures that the deployed environment matches the state specified in a repository."- WeaveWorks

Why should I use GitOps?

GitOps simply allows faster deployments by having git repositories in the center offering a clear audit trail via git commits and no direct environment access. Read more on Why should I use GitOps?

The below diagram compares traditional CI/CD vs GitOps workflow: push based vs pull based deployments

Tools for GitOps

Some popular GitOps frameworks for Kubernetes backed by CNCF community:

Deploying using GitOps

GitOps with Flux v2 can be enabled in Azure Kubernetes Service (AKS) managed clusters or Azure Arc-enabled Kubernetes connected clusters as a cluster extension. After the microsoft.flux cluster extension is installed, you can create one or more fluxConfigurations resources that sync your Git repository sources to the cluster and reconcile the cluster to the desired state. With GitOps, you can use your Git repository as the source of truth for cluster configuration and application deployment.

Last update: February 2, 2023