Training > DevOps & Site Reliability > GitOps: Continuous Delivery on Kubernetes with Flux (LFS269)
Training Course

GitOps: Continuous Delivery on Kubernetes with Flux (LFS269)

Master the art of automating Kubernetes deployments by implementing GitOps – the set of practices that enable developers to carry out tasks that traditionally fell to operations personnel – with Flux CD.

Who Is It For

This course is for software developers interested in learning how to deploy their cloud native applications using familiar GitHub-based workflows and GitOps practices; quality assurance engineers interested in setting up continuous delivery pipelines, and implementing canary analysis, A/B testing, etc. on Kubernetes; site reliability engineers interested in automating deployment workflows and setting up multi-tenant, multi-cluster GitOps-based Continuous Delivery workflows and incorporating them with existing Continuous Integration and monitoring setups; and anyone looking to understand the landscape of GitOps and learn how to choose and implement the right tools.
read less read more
What You’ll Learn

This course provides a foundational deep dive into GitOps principles and practices, and how to implement them using Flux CD. Flux CD uses a reconciliation approach to keep Kubernetes clusters in sync using Git repositories as the source of truth. This course helps you build essential Git and Kubernetes knowledge for a GitOps practitioner by setting up Flux v2 on an existing Kubernetes cluster, automating the deployment of Kubernetes manifests with Flux, and incorporating Kustomize and Helm to create customizable deployments. It teaches you to set up notifications and monitoring with Prometheus, Grafana and Slack, integrate Flux with Tekton-based workflows to set up CI/CD pipelines, build release strategies, including canary, A/B testing, and blue/green, deploying to multi-cluster and multi-tenant environments, integrate GitOps with service meshes such as Linkerd, and Istio, securing GitOps workflows with Flux, and much more.
read less read more
What It Prepares You For

This course will give you in-depth knowledge on how to implement Flux CD and GitOps practices to set up a Continuous Delivery pipeline on your Kubernetes environments, and provide a sense of operational control via git-based workflows like branching models and pull requests.
read less read more
Course Outline
Chapter 1. Course Introduction
Chapter 2. Introduction to Flux CD
Chapter 3. Setting up a Learning Environment
Chapter 4. Kubernetes Essentials for a GitOps Practitioner
Chapter 5. Essentials of Git Workflows
Chapter 6. Deploying Your Application on Kubernetes with Flux
Chapter 7. Kustomizing Kubernetes Deployments
Chapter 8. Integrating with Helm
Chapter 9. Monitoring and Alerting
Chapter 10. Integrating CI with CD using Tekton
Chapter 11. Achieving Multi-Tenancy with Flux
Chapter 12. Building Release Strategies with Service Mesh and Flagger
Chapter 13. Securing GitOps Workflows

Prerequisites
To make the most out of this course, you will need to have:

  • Familiarity with Kubernetes (pods, ReplicaSets, deployments, services, namespaces, kubectl and YAML specs, CRDs, controllers/operators), Helm and Kustomize
  • Familiarity with git (branching, merging, remotes, pull requests, branching models, protected branches, code reviews)
  • Basic familiarity with Continuous Integration/Continuous Delivery (building pipelines, setting up automated builds, tests, building artifacts and images, etc.)
Lab Info
To successfully complete the lab exercises in this course, access to a Linux server or Linux desktop/laptop is required. Access to a public cloud provider, or VirtualBox on your machine is also needed. Detailed instructions to set up your lab environment are provided in the course.

If using a cloud provider like GCP or AWS, you should be able to complete the lab exercises using the free tier or credits provided to you. However, you may incur charges if you exceed the credits initially allocated by the cloud provider, or if the cloud provider’s terms and conditions change.