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.
Course info
Rating
(31)
Level
Intermediate
Updated
Oct 22, 2020
Duration
2h 30m
Table of contents
Description
Course info
Rating
(31)
Level
Intermediate
Updated
Oct 22, 2020
Duration
2h 30m
Your 10-day individual free trial includes:

Expert-led courses

Keep up with the pace of change with thousands of expert-led, in-depth courses.
Description

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.

Course FAQ
Course FAQ
What are the prerequisites for this course?

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.

What is GitOps?

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.

What is Kubernetes cluster?

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.

What is the Linux command line?

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”.

What is the Helm Operator?

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.

About the author
About the author

Nigel is an IT professional with over 25 years of experience, gained in technical and management roles, including as CEO of a technical consulting organization. He has recently returned to his technical roots, and provide tuition in the domain of microservices and container technologies.

More from the author
Developing Docker Apps: Core Principles
Intermediate
2h 40m
May 14, 2021
More courses by Nigel Brown
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi, everyone. My name is Nigel Brown, and welcome to my course, Automating Kubernetes Deployments Using a GitOps Workflow. I'm an independent writer, course web developer, and classroom trainer for cloud‑native software technologies, such as Docker and Kubernetes. In these days of the cloud‑native era, everybody wants to deliver software features faster, more frequently, and more reliably, all to the benefit of the organizations we work for. But it's incredibly difficult to get this right, especially when it involves lots of people and lots of moving parts. This course explores how to automate deployments of application workloads to Kubernetes clusters using a GitOps workflow. During the course, the main topics we'll cover include getting to grips with the GitOps concept for automated application deployments, using the Flux Operator to reconcile cluster state with a single source of truth, working with the Helm chart abstraction using Helm‑released custom resources and the Helm Operator, and managing automated progressive application delivery with Flagger. By the end of the course, you'll have a good grounding in the GitOps approach and knowledge of the tools you can use to automate your application deployments to Kubernetes. 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. I hope you'll join me on this journey to learn about automating Kubernetes deployments using a GitOps workflow at Pluralsight.