LFS269 - GitOps Mastery with Flux
Master the art of automating Kubernetes deployments by Implementing GitOps practices with FluxCD. (LFS269 Course)
Watch Promo
As Kubernetes becomes the ubiquitous cloud platform, increasing numbers of organisations are in search of finding the easiest and the fastest way to deploy their cloud native applications on kubernetes. While most organisations have battle hardened Continuous Integration systems, there has been a lack of clear approach to continuously deliver the code to customers.
GitOps practices offer a simple and familiar approach to solve this problem which takes the existing practice of writing infrastructure as a code, which is then revision controlled with git, and extends it by marrying deploy operations with git based workflows. GitOps offers a path of least resistance to bring “You build it, you run it….” into reality by providing developers with a sense of operational control via branching models and pull requests, something that they are already aware of.
When it comes to implementing GitOps, Flux CD is at the forefront of it. It uses a reconciliation approach to keep kubernetes clusters in sync using Git repository as the source of truth. Built on top of LFS-xxx course which builds conceptual foundation on GitOps, this course dives into Flux CD by taking a hands on, project based approach. By the end of this course, learners would have in-depth knowledge of how to implement flux to setup a Continuous Delivery pipeline to their Kubernetes environments.
Course Learning Outcomes
By the end of this course, you should be able to:
- Understand Flux CD and how it implements GitOps
- Build essential Git and Kubernetes knowledge for a GitOps Practitioner
- Set up Flux v2 on a existing Kubernetes Cluster
- Automate deployment of kubernetes manifests with Flux
- Incorporate Kustomize and HELM to create customizable deployments
- Setup notifications and monitoring with Prometheus+Grafana and Slack.
- Integrate Flux with Tekton based workflows to setup CI + CD.
- Build Release Strategies including Canary, A/B Testing, Blue Green etc.
- Learn how to deploy to Multi Cluster and Multi Tenant Environments
- Integrate GitOps with service mesh such as Linkerd/Istio.
- Secure GitOps workflow with Flux.
Course Audience
- Software Developers who would like to go all the way and deploy their cloud native applications using familiar github based workflows by using GitOps practices.
- Quality Assurance Engineers who would like to understand how to setup CD pipelines, the role they would play in it as well as how to implement Canary Analysis, A/B Testing etc. on kubernetes.
- Site Reliability Engineers, who would like to automate deployment workflows and setup multi tenant, multi cluster GitOps based Continuous Delivery workflows and incorporate with existing CI as well as monitoring setup.
- Anyone who would like to understand the landscape of GitOps, learn how to choose the right tool and gain knowledge on how to implement it.
Knowledge/Skills Prerequisites
- Kubernetes
- Pods, ReplicaSets and Deployments
- Services
- Helm and Kustomize (config overlays)
- Namespaces
- Kubectl and YAML specs
- CRDs
- Tekton (Can be its own chapter)
- Kubernetes Controllers/Operators
- Git
- Basics
- Branching and Merging
- Remotes
- Pull Requests
- Branching Models
- Protected Branches
- Enforcing Code Reviews
- Continuous Integration
- Building Pipeline
- Setup automated builds, tests etc.
- Building Artifacts / Images
Lab/System Prerequisites
Since its recommended to use Google Cloud Account for the labs, system prerequisite for a workstation are minimal and are defined as a reference below.
Local Workstation
Hardware |
CPU |
2 Cores |
Memory |
2 GB |
|
Software |
OS |
MacOS, Windows, Linux |
Browser |
Chrome (Ideal Choice) |
|
SSH Client |
Putty, iTerm, Alternate Solution based on OS. |
|
Network |
Good Internet Connectivity |
For Flux and Kubernetes Setup, you could pick either of the options below.
Option 1 : Cloud Based Setup (Recommended)
Cloud |
Google Cloud Account |
Option 2 : Bring Your Own Nodes (BYOD) ( For the setup where you would not use a cloud)
KIND/Flux Node |
Number of Nodes |
1 |
(To setup KIND and Flux CLI) |
CPU |
2 Cores |
||
Memory |
4 GB |
||
OS |
Ubuntu |
20.04 LTS |
|
Cluster Nodes |
Number of Nodes |
3 |
(To setup and run Kubernetes Cluster with) |
CPU |
2 Cores |
||
Memory |
4GB |
||
OS |
Ubuntu |
20.04 LTS |
Your Instructor
Hi, this is Gourav. Being passionate about linux and open source, I built a good foundation for my professional career while I was still at Engineering School. I started my career as a ops guy, being a systems admin and later as a operations engineer. I then went on to transform my career to be a Devops Consultant, Corporate Trainer, Devops Coach and a Public Speaker. I have helped more than 10k tech professionals from top companied of the world to transform their careers to be devops ready. I am a published author with one book and more than 18 courses published on many platforms including Udemy, Packt, Skillshare, Orielly's Safari Books Online and this site. I have more than 60k students online. I have been recently featured on edX with my course on Devops and SRE, published by Linux Foundation, the world leaders in open source. You could check his biography here
Course Curriculum
-
StartLearning Objectives (6:11)
-
StartScenario
-
StartWhat is Flux ? (8:23)
-
Start4 Principles of GitOps (8:21)
-
StartFlux Story
-
StartHow does Flux work ? (4:28)
-
StartGitOps Toolkit and 5 Controllers of Flux (7:56)
-
StartFlux Controllers Workflow (3:29)
-
StartProgressive Delivery with Flux and Flagger (6:59)
-
StartPre Requisite to Use Flux
-
StartSummary