11 Flux

 

This chapter covers

  • What is Flux?
  • Deploying an application using Flux
  • Setting up multitenancy with Flux

In this chapter, you will learn how to use the Flux GitOps operator to deploy our reference example application to Kubernetes. You will also learn how Flux can be used as part of a multitenancy solution.

We recommend you read chapters 1, 2, 3, and 5 before reading this chapter.

11.1 What is Flux?

Flux is an open source project that implements GitOps-driven continuous deployment for Kubernetes. The project was started in 2016 at Weaveworks1 and joined the CNCF Sandbox three years later.

Notably, Weaveworks is the same company that coined the term GitOps. Along with other great open source projects for Kubernetes, the company formulated GitOps best practices and contributed a lot to GitOps evangelizing. The Flux evolution illustrates how the idea of GitOps evolved over time, based on practical experience, into its current form.

11.1.1 What Flux does

11.1.2 Docker registry scanning

11.1.3 Architecture

11.2 Simple application deployment

11.2.1 Deploying the first application

11.2.2 Observing application state

11.2.3 Upgrading the deployment image

11.2.4 Using Kustomize for manifest generation

11.2.5 Securing deployment using GPG

11.3 Multitenancy with Flux

Summary