SFD269 – FluxCD and Flagger for Kubernetes CI/CD and GitOps
Course Content
Course Intro
-
Course Intro
03:42 -
How to take this Course
04:52 -
Lecture Plan**
Introduction to Flux CD
-
Scenario
-
Learning Objectives
06:12 -
What is Flux ?
08:24 -
4 Principles of GitOps
08:22 -
Flux Story
-
How does it work ?
04:29 -
5 Controllers and GitOps Toolkit
07:57 -
Flux Controllers Workflow
03:30 -
Progressive Delivery with Flux and Flagger
07:00 -
Pre Requisite to Use Flux
-
Summary
-
Course Notes
Setup: Creating Learning Environment
-
Learning Objectives
02:31 -
Requirements of a Learning Environment
-
Provision a VM with Google Cloud
11:16 -
Install Docker
04:06 -
Install Kubectl and Kind
03:57 -
Set Up Kubernetes Cluster with Kind
08:40 -
Summary
-
Lab 3. Setting Up Your Lab Environment
Kubernetes Essentials for a GitOps Practitioner
-
Learning Objectives
03:33 -
Why do you need Kubernetes ?
08:31 -
Kubernetes Architecture
12:40 -
Kubernetes Core Objects
09:06 -
Use Case Explained
04:34 -
Working with Namespaces and Contexts
13:05 -
Creating Deployment
10:37 -
Exposing Application with a Service
09:25 -
Rolling out new Application Versions
06:59 -
Service Discovery with Kubernetes
06:10 -
Auto Generating YAML Manifests
07:17 -
Additional Topics to Explore
-
Summary
-
Lab 04 – Deploying A Micro Services App with Kubernetes
Essentials of Git Workflows
-
Learning Objectives – Git Essentials
02:12 -
Fork and Clone Application Repo
09:38 -
Auto Generate and Commit Manifests
10:45 -
Git Branching and Merging
11:23 -
Pull Request Concepts
05:28 -
Using Pull Requests to Merge Changes
07:54 -
Branching Models and Trunk Based Development
09:16 -
Enforcing Branch Policies
09:53 -
Tagging and Semantic Versioning
04:51 -
Demonstration of Tagging a Release
07:06 -
Summary
-
Course Notes
-
Lab 05 – Git Essentials for a GitOps Practitioner
Continuous Deployment to Kubernetes with Flux
-
Scenario
-
Learning Objectives
02:25 -
Installing Flux CLI
08:16 -
Bootstrapping Flux Infrastructure
07:17 -
Analyzing Bootstrap
06:47 -
Understanding Components of Flux**
-
Source Controller
05:06 -
GitRepository CRD Spec
07:04 -
Create Source to Sync Git Repo
05:04 -
Kustomize Controller
05:57 -
Kustomization CRD Spec
05:55 -
Deploying App with Kustomize
08:53 -
Continuous Deployment
05:13 -
Exporting Sync Manifests
06:35 -
Adding Health Checks
08:44 -
Garbage Collection
04:33 -
Defining Sequencing with DependsOn
08:04 -
Summary
-
Course Notes
-
Lab 06 – Continuous Deployment with Flux CD
Kustomizing Kubernetes Deployments
-
Scenario
-
Learning Objectives
02:51 -
Setting up a Staging GKE Cluster
05:23 -
Configuring Staging Context
05:38 -
Bootstrapping Staging Cluster**
-
What is Kustomize ?
12:21 -
Reorganizing Code with Kustomize Overlays
08:39 -
Deploy to Dev with Custom Configs
06:19 -
Creating Staging Overlays**
-
Kustomizing Service Configurations
08:10 -
Restructing and Deploying Redis with Kustomize**
-
Understanding Kustomization File
09:27 -
Updating Scale by Setting Replica Counts
05:00 -
Images and Namespaces
07:52 -
Setting Common Labels and Annotations
06:37 -
Generating ConfigMaps
07:20 -
Automating Rollouts on Config Changes
06:33 -
Chapter Summary
-
Course Notes
-
Lab 07A- Setup Staging Environment
-
Lab 07B – Kustomizing Kubernetes Deployments
Deploying Helm Charts with Flux
-
Scenario
-
Learning Objectives
02:49 -
Installing Helm Version 3
04:13 -
Deploying a Chart with Helm CLI
12:58 -
How does Flux Handle Helm Deployments
05:44 -
Features of a Helm Controller
04:55 -
Defining Helm Repository as a Source
06:38 -
HelmRelease CRD
06:04 -
Deploying with Helm Release
08:15 -
Using Git Repository as a Chart Source
06:04 -
Helm Release with Git Repository
07:53 -
Summary
-
Course Notes
-
Lab 08 – Deploying Helm Charts with Flux
Monitoring and Alerting
-
Scenario
-
Learning Objectives
02:43 -
Features of a Notification Controller
05:57 -
Notifying to Slack
03:18 -
Configuring Incoming Webhook
05:09 -
Defining a Notification Provider
06:07 -
Creating an Alert
06:27 -
Auto Updating GIt Commit Status
08:25 -
Push Based Reconciliation
04:39 -
Exposing a Webhook Receiver
07:30 -
Push Deployments with Web Hooks
10:55 -
Monitoring with Prometheus & Grafana
10:47 -
Summary
-
Course Notes
-
Lab 09A – Notifying Slack and GitHub
-
Lab 09B – Monitoring with Prometheus and Grafana
Seting up CI with Tekton
-
Scenario
-
Learning Objectives
02:37 -
What is Tekton
06:21 -
Pipelines, Tasks and Runs
06:47 -
How Kubernetes Runs Tekton Pipelines
06:26 -
Installing Tekton
06:05 -
CI Pipeline for Instavote
09:31 -
Reviewing Pipeline Code
07:38 -
Reviewing PipelineRun Code
07:10 -
Launching Instavote Pipeline
04:05 -
Running CI Pipelines with Tekton
08:13 -
Re Triggering Pipeline Runs
08:02 -
Summary
-
Course Notes**
-
Lab 10 – Setup Continus Integration Pipelines with Tekton
Connecting CI and CD with Flux Image Automation
-
Scenario
-
Learning Objectives
02:39 -
Understanding Image Automation Workflow
05:25 -
Automating Container Registry Scanning
07:19 -
Seting up Image Updation Rule
05:12 -
Autocommiting Image Tags to GitHub
06:48 -
Debugging and e2e Test
06:54 -
Image Policy and Update Rules for Result App
08:53 -
Debugging Helm Chart Release
06:15 -
Problem with CI CD Pipeline
05:26 -
Chapter Summary
-
Lab 11 – Automating Image Updates
Achieving Multi Tenancy with Flux
-
Scenario
-
Learning Objectives
03:48 -
Need for Multi Tenancy
04:39 -
Multi Tenant Design with Flux
08:32 -
Exporting Sync Manifests
08:32 -
Clean up Staging Cluster
05:18 -
Understanding Sample Multi Tenant Repo
12:33 -
Bootstrapping Flux Fleet with a Sample Tenant
08:41 -
Initializing Instavote Deploy Repo
04:24 -
Migrating Deployment Code
07:44 -
Modifying Sync Manifests
06:03 -
Patching Webhook Receiver
03:39 -
Preparing Project for On Boarding
08:20 -
Deploying by Git Push
08:10 -
Debugging Namespace Issues
11:04 -
Updating GitHub Webhook
10:09 -
Summary
-
Course Notes
-
Lab 12A – Multi Tenancy with Flux
-
Lab 12B : Flux Resources Checklist
Building Release Strategies with Flagger
-
Scenario
-
Learning Objectives
02:52 -
What is Flagger ?
09:16 -
Understanding Canary CRD
05:31 -
Reviewing Sample Canary Spec
05:27 -
Installing Flagger
09:19 -
Deploying Nginx Ingress Controller
04:59 -
Defining Ingress Rule for Vote
07:03 -
Changing Flux Code to work with Flagger
07:23 -
Reviewing Blue Green Spec with Flagger
08:27 -
How Flagger Takes Over App Deployments
09:33 -
Blue Green Deployment in Action
09:58 -
Visualizing Blue Green Deployment
06:20 -
Adding Progressive Canary Strategy
05:00 -
Progressive Canary in Action
06:09 -
Visualizing Progressive Canary
05:14 -
Automated Rollbacks with Flagger
10:05 -
End to End Testing
09:59 -
Chapter Summary
-
Course Notes
-
Lab 13 – Building Release Strategies with Flagger
Student Ratings & Reviews
No Review Yet