Unlock Lightning-Fast RaspberryPi Kubernetes Cluster Setup: Turbocharge Initialization with FluxCD!

Michael Tissen
10 min readJul 20

In this series, I’ll first show you what Flux is and how it works, and later show you how to put all the basic Kubernetes configuration into a Git repository to add load balancer, ingress with cert-manager, and persistent storage with a single command.

Photo by Charlotte Coneybeer on Unsplash

The problem

In my previous articles, I demonstrated how to enhance my Raspberry Pi 4 cluster by incorporating various components such as MetalLB load balancer and Traefik with Cert-Manager. However, setting up each component individually can be a time-consuming and laborious process.

Especially when it comes to setting up a new cluster or restoring the old one.

The solution

The solution is to use a git-ops approach to install all components based on declarative configurations stored in git.

A project that leverages this approach is Flux.

flux logo

Some project statements

Flux and Flagger deploy apps with canaries, feature flags, and A/B rollouts. Flux can also manage any Kubernetes resource. Infrastructure and workload dependency management is built in.

and

Describe the entire desired state of your system in Git. This includes apps, configuration, dashboards, monitoring, and everything else. Use YAML to enforce conformance to the declared system. You don’t need to run kubectl because all changes are synced automatically.

The plan

First we need to define what we want:

The basic stack
  • Load-Balancer routing traffic to right nodes
  • An reverse-proxy/ingress for routing a request throught a DNS to the right pod
  • Cert-Manager for getting let’s encrypt automatically
  • A storage provider like Longhorn or OpenEBS for…
Michael Tissen

Loves sport, software-engineering and music