Course Introduction
Get an understanding of what we'll learn in this course and the skills needed to be successful.
We'll cover the following
In this course, we'll learn about GitOps. GitOps is an operational model that allows developers to accelerate the delivery of cloud-native applications that run on Kubernetes. Many predict that GitOps will be the default operational model for modern continuous delivery tools and development platforms. It combines concepts such as infrastructure as code, continuous delivery, and source control management to create a stable yet rapid approach to delivering changes to software and infrastructure.
The underlying principles of GitOps create a more secure, repeatable, and transparent operational model that enhances how teams operate their software. Recently, the Cloud Native Computing Foundation (CNCF) established the GitOps Working Group and recommended the adoption of Flux, a GitOps tool used for continuous delivery of applications that run on Kubernetes.
Concepts covered
Throughout the course, the following topics will be covered:
The history of GitOps
Key GitOps principles
The benefits of GitOps
Applying GitOps with Flux
Using Flux with Helm
Establishing progressive delivery strategies with Flagger
Technologies
While completing the course, we'll get hands-on experience working with the following technologies:
Flux
Kubernetes
kubectl
Docker
Helm
Flagger
Git
Prerequisite skills
This is an advanced course that requires a basic familiarity with the following technologies in order to be successful:
Kubernetes
Docker
Git
This course is not for first time users of any of these technologies. For those who find they lack the prerequisite skills, please complete other courses on the Educative platform on these topics before proceeding.
Course Outline
Chapter 1: Introduction to GitOps
This chapter introduces the concept of GitOps and explains its emergence. We'll learn why GitOps is used and how the GitOps pattern is beneficial for the operation of cloud-native systems.
Chapter 2: GitOps principles
This chapter provides in-depth explanations of the key principles underlying GitOps. We'll learn about each principle and its importance when using GitOps for operating a system. Each principle is supported by a hands-on example that we'll interact with.
Chapter 3: Architecting GitOps-based systems
This chapter introduces foundational technologies like Kubernetes and Docker that are necessary for using a GitOps approach. We'll learn about each technology and complete hands-on lessons that demonstrate their usage.
Chapter 4: GitOps in practice
This chapter explains how to use Flux, which is a continuous delivery tool that uses GitOps to manage workloads on Kubernetes. We'll walk through the steps to configure and establish the Flux resources necessary to manage workloads on a Kubernetes cluster.
Chapter 5: Using Flux with Helm
This chapter provides in-depth explanations of how Helm can be used with Flux to manage workloads on Kubernetes with GitOps. We'll learn the basics of using Helm and then see how it is integrated with Flux.
Chapter 6: Advanced deployment models with Flagger
In the final chapter, we'll learn about progressive delivery strategies and how they can be achieved using Flagger. Flagger is a progressive delivery tool that utilizes GitOps to perform deployment strategies like canary deployments and blue/green deployments.