Book Image

Repeatability, Reliability, and Scalability through GitOps

By : Bryan Feuling
Book Image

Repeatability, Reliability, and Scalability through GitOps

By: Bryan Feuling

Overview of this book

The world of software delivery and deployment has come a long way in the last few decades. From waterfall methods to Agile practices, every company that develops its own software has to overcome various challenges in delivery and deployment to meet customer and market demands. This book will guide you through common industry practices for software delivery and deployment. Throughout the book, you'll follow the journey of a DevOps team that matures their software release process from quarterly deployments to continuous delivery using GitOps. With the help of hands-on tutorials, projects, and self-assessment questions, you'll build your knowledge of GitOps basics, different types of GitOps practices, and how to decide which GitOps practice is the best for your company. As you progress, you'll cover everything from building declarative language files to the pitfalls in performing continuous deployment with GitOps. By the end of this book, you'll be well-versed with the fundamentals of delivery and deployment, the different schools of GitOps, and how to best leverage GitOps in your teams.
Table of Contents (17 chapters)
1
Section 1: Fundamentals of GitOps
5
Section 2: GitOps Types, Benefits, and Drawbacks
10
Section 3: Hands-On Practical GitOps

Setting up Kubernetes and Helm

Although the other engineering teams had Helm charts already created, the DevOps team wanted to build out a core chart for easy templating. The goal would be to develop a core chart to test any business or engineering requirements in Kubernetes before passing them on to other teams. This would allow the enforcement of standards without burdening the engineering teams with additional configuration.

Using VSCode and minikube, the team could develop and deploy the Helm chart locally. Then, when they had a good base chart ready and deployable, they would initiate the sync with their Git repository to keep consistent track of any changes to the chart in the future. However, for the GitOps testing, they only needed a basic Helm chart to start with, allowing for some small overrides to show the functionality of the GitOps tool.

Since the feature sets of originalist GitOps tools are relatively limited in design and scope, an advanced Helm chart is not a...