A six-node ARM64 Kubernetes cluster built from Raspberry Pi 4 boards: three control-plane nodes and three workers connected over a dedicated wired subnet.

What it demonstrates

The control plane uses embedded etcd in a three-node Raft cluster, tolerating the loss of one master without interrupting workloads. kube-vip provides a floating virtual IP and automatically moves it to a surviving master during failover.

Ingress runs with ingress-nginx as a DaemonSet using host networking, avoiding an external load balancer. The monitoring stack combines Prometheus, Grafana, Alertmanager, Node Exporter and kube-state-metrics, with custom metrics for Raspberry Pi temperature and resource use.

A Horizontal Pod Autoscaler scales the demo API from 3 to 15 replicas. Failure tests cover master loss, etcd quorum, network partitions, VIP migration and worker draining, making the project a practical study in resilience rather than a purely nominal cluster.

View the complete project on GitHub