In this tutorial we’ll create a Kubernetes cluster, install Flux V2, link it to our GitHub Account and deploy OpenFaaS along with a number of functions using a GitOps approach. I’ll also touch on further areas to explore like how to keep functions updated with the Image reflector and automation controllers.
Flux is an open source project by WeaveWorks which enables application delivery using GitOps. Your cluster config is stored in Git and the Flux controllers continually work to ensure that the cluster config matches the state in Git. This allows us to take the “cattle not pets” mentality applied to modern cloud computing further and apply the same thinking to our clusters.
Flux is now in “V2” and the original implementation (or Flux v1) is now in maintenance mode. This post will explore using Flux V2 anf the GitOps Toolkit to automate deployments.
We no longer need to manually issue helm install or kubectl apply commands to manage our clusters and configuration changes are audited and easily reviewed as Git PullRequests.