Automating Kubernetes Deployments Using a GitOps Workflow
Deploying applications to Kubernetes clusters in a reliable and repeatable manner is difficult to achieve. This course will teach you how to adopt a GitOps workflow to automate application deployments, using the Flux operator.
What you'll learn
Deploying applications to Kubernetes is straightforward, but reliably maintaining the integrity of application configuration from release to release is a big challenge. In this course, Automating Kubernetes Deployments Using a GitOps Workflow, you’ll learn how to automate and control application deployments using the Flux operator and complimentary tools. First, you’ll discover how Flux can be configured to automate a deployment using Git as a single source of truth. Next, you’ll learn how Flux and the Helm Operator can be combined to automate deployments for your applications configured as Helm charts. Finally, you’ll explore progressive deployments, and how to use Flagger to automate a canary deployment. When you’re finished with this course, you’ll have the requisite knowledge of GitOps workflows, and the technical skills needed to reliably automate continuous delivery of your applications.
Table of contents
Ideally, before you get started with this course, you should already have some practical experience of the Linux command line, some understanding of containerized applications, and familiarity with Git, GitHub, and Kubernetes and its APIs.
GitOps is a paradigm or a set of practices that empowers developers to perform tasks which typically fall under the purview of IT operations. GitOps requires us to describe and observe systems with declarative specifications that eventually form the basis of continuous everything.
A Kubernetes cluster is a set of nodes that run containerized applications. Containerizing applications packages an app with its dependences and some necessary services. Kubernetes clusters allow containers to run across multiple machines and environments: virtual, physical, cloud-based, and on-premises.
The Linux command line is a text interface to your computer intended to interpret commands. It allows users to execute commands by manually typing at the terminal, or has the ability to automatically execute commands which were programmed in “Shell Scripts”.
The Helm Operator is a Kubernetes operator, allowing one to declaratively manage Helm chart releases. Combined with Flux this can be utilized to automate releases in a GitOps manner, but the usage of Flux is not a strict requirement.