chapter eleven

11 Flux

 

This chapter covers:

  • What is Flux?
  • Deploying an application using Flux
  • Setting up Multi-tenancy 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 multi-tenancy 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 Weaveworks[81] and joined CNCF Sandbox three years later.

Note

CNCF Linux Foundation project that hosts critical components of the global technology infrastructure.

Notable, Weaveworks is that same company that coined the term GitOps term itself. 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 was 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    Observe application state

11.2.3    Upgrade deployment image

11.2.4    Use Kustomize for manifest generation

11.2.5    Secure deployment using GPG

11.3  Multi-tenancy with Flux

11.4  Summary