Skip to content



  • 07.04.2023 - Added section about Docker Swarm HERE
  • 01.04.2023 - Updates to sections: Design goals, Hardware, Helm & Arkade, Network, OS setting, Kubernetes Install, Nodes... working on the rest.
  • 26.02.2023 - Rework and update of the guide is in progress. Sorry not replying to your comments, I had some personal issues to deal with.
  • 11.07.2022 - Figured out Linkerd service mesh to work in this setup with, UI and integration to already running Prometheus and Grafana, guide coming soon.
  • 03.07.2022 - Added Traefik section to the documentation. Traefik
  • 26.06.2022 - Added benchmark for SSD in USB 3.1. HW
  • 21.06.2022 - Added page about Argo CD on Raspberry Pi 4 k3s Kubernetes. Argo CD
  • 10.06.2022 - Comment section based on disqus was abandoned. Now it's based on GitHub comments.
  • 08.06.2022 - Updated monitoring part to 90%, some small changes still needed.
  • 07.06.2022 - Updated K3s guide is up, notable change is replacing Ubuntu with DietPi 64bit. Monitoring guide needs to be updated still. Added Portainer to the mix.
  • 23.05.2022 - It finally happened, the monstrosity is born ! I designed new chassis for the cluster, new power source, Raspberries are swappable like on blade server and some other features... I'm now in the process of installing everything and will update my guide as I go. As well, somehow publish build log for the chassis. Here is a teaser picture. Hopefully I can put together a whole guide how I made it.

What I’m trying to achieve ?

New Raspberry Pi 4 chassis

My personal goal is to have a FaaS environment at home. Building it from scratch would help me to understand Kubernetes cluster solutions for future reference. Another advantage of building it from the bottom up is that, if something breaks, you will at least have some idea about what might be wrong.

Note that in doing so you will in essence become:

  • Storage support
  • Networking support
  • OS support
  • Application support
  • Security support
  • Hands & Eyes
  • Architecture designer in one person.

And, since navigating the waters of Cloud Native Landscape is so easy (Yeah, you can feel the sarcasm, can't you), I made this guide.

For funzies, look at the current state of Cloud Native Landscape

What did I build ?

  • Deployed 8 node Kubernetes cluster on arm64
  • Deployed distributed block storage on Kubernetes - Longhorn
  • Deployed OpenFaaS - Function as a Service platform
  • Deployed example OpenFaaS function
  • Deployed Portainer - Dashboard for Kubernetes
  • Deployed monitoring - Prometheus, Grafana, Loki, Promtail

Kubernetes + OpenFaaS + Longhorn Logo

This gives me a nice solution to deploy functions, to learn more about Serverless Applications, and try a new way of building applications. I do worry that function as a service might introduce lag, but on other hand I can invoke functions asynchronously, and consume the results when they come, while the main program continues. Kind of like external multitasking. It is certainly helpful for load balancing, or even scaling to 0 (Only supported by OpenFaaS paid version), which is super nice. It requires me to think a bit differently (more complexly, in my opinion) about building applications compared to standard monolith programming.

Last update: April 7, 2023