Automating Kubernetes Deployments Using a GitOps Workflow

by Nigel Brown

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.

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

Nigel is an IT professional with over 25 years of experience, gained in technical and management roles. He started his career in IT Operations, before co-founding and leading a company focused on delivering systems management solutions to some of the UK's largest companies. Recently, he has returned to his technical roots, and swapped the world of proprietary software for the open source domain. Nigel has an avid interest in the contemporary domain of microservices and container technologies. In... more

Ready to upskill? Get started