overview
with the announcement of the RaspberryPi-4B, i decided that it would be an inexpensive and fun way to learn Kubernetes by building an foureight node cluster, with Rancher’s k3s, hence raspberry pik3s or pik3s. octopik3s.io was registered as a place to show graphs, logs, workloads, and whatnot: it will run on the cluster, so it might not be available. static site content will eventually live in another repo…
goals
- learn RaspberryPi
- learn some systems/hardware C programming
- learn Kubernetes
- create a home ‘cluster’, automate it, and
- learn Terraform and Go
- improve Python and Ansible
- create pretty graphs with Zabbix, Promethues, Netauto, and Grafana
- run folding@home
- profit?
hardware
what started as a budget build, turned into something…a lot more expensive.
- RaspberryPi 4
- RaspberryPi PoE Hat
- C4 Labs 8 Slot Cloudlet Cluster Case
- CoolerGuys dual 50mm usb fan
- Samsung USB 3.1 FIT Plus 128Gb
- Samsung MicroSDHC EVO Plus 32GB
- Tenda 9-port gigabit PoE switch TEG1009P-EI
- (new model) Tenda 9-port gigabit PoE switch TEG1109P-8-102W
specs
- 32x Broadcom BCM2711 (ARM v8) 64-bit cores @ 1.5GHz
- 32GB LPDDR4-3200 SDRAM
- non-blocking gigabit ethernet interconnect
- 8:1 uplink oversubscription
software
when i started this project, my choices for a 64-bit o/s for arm64 were ubuntu and fedora; i prefer debian-based distros, so i downloaded the ubuntu image.
Rancher’s K3s was chosen for being a lightweight, fully compliant Kubernetes distribution.
etcd and calico were chosen because of the cross-over with work. getting well ahead of myself, i will likely also use (something built on) envoy proxy.
- Ubuntu Server
- Lightweight Kubernetes k3s
- etcd
- maybeprobably Calico
- Envoy? Istio?