1 Why GitOps?
This chapter covers:
- What is GitOps
- Why GitOps is important
- Comparison of GitOps with other approaches
- Benefits of GitOps
Kubernetes is a massively popular open-source platform that orchestrates and automates container operations. While it improves the management and scaling of infrastructure and containerized applications, Kubernetes still has challenges managing the complexity of releasing applications frequently. Git, initially developed by Linus Torvalds, the creator of Linux, is the most widely used version control system in the software industry today.
GitOps is a new method of Continuous Deployment that uses Git as a single source of truth for declarative infrastructure and applications, providing both revision and change control. With GitOps, a system is operated by the submission of pull requests (and subsequent merges) to the desired state of the system represented in a Git repository.
Using GitOps with Kubernetes is a natural fit, with the deployment of declarative Kubernetes manifest files being controlled by common Git operations. This brings the core benefits of infrastructure-as-code and immutable infrastructure to the deployment, monitoring, and lifecycle management of Kubernetes applications in an intuitive and accessible way.