1 Why GitOps?

This chapter covers

  • What is GitOps?
  • Why GitOps is important
  • GitOps compared with other approaches
  • Benefits of GitOps

Kubernetes is a massively popular open source platform that orchestrates and automates operations. Although it improves the management and scaling of infrastructure and applications, Kubernetes frequently has challenges managing the complexity of releasing applications.

Git is the most widely used version-control system in the software industry today. GitOps is a set of procedures that uses the power of Git to provide both revision and change control within the Kubernetes platform. A GitOps strategy can play a big part in how quickly and easily teams manage their services’ environment creation, promotion, and operation.

Using GitOps with Kubernetes is a natural fit, with the deployment of declarative Kubernetes manifest files being controlled by common Git operations. GitOps brings the core benefits of Infrastructure as Code and immutable infrastructure to the deployment, monitoring, and life-cycle management of Kubernetes applications in an intuitive, accessible way.

1.1 Evolution to GitOps

1.1.1 Traditional Ops

1.1.2 DevOps

1.1.3 GitOps

1.2 Developer benefits of GitOps

1.2.1 Infrastructure as code

1.2.2 Self-service

1.2.3 Code reviews

1.2.4 Git pull requests

1.3 Operational benefits of GitOps

1.3.1 Declarative

1.3.2 Observability

1.3.3 Auditability and compliance

1.3.4 Disaster recovery