My Kubernetes homelab configuration.
# Diff release
helmfile -e home diff
# Sync release
helmfile -e home sync
# Target release
helmfile -e home --selector=name=openfaas sync
- Download Balena Etcher ~
brew install --cask balenaetcher
- Grab Ubuntu Server for arm64 ~
wget https://cdimage.ubuntu.com/releases/20.04.2/release/ubuntu-20.04.2-preinstalled-server-arm64+raspi.img.xz
- Create an empty file named
ssh
in the boot partition to enable ssh. - Add the following to the end of the line in
/boot/cmdline.txt
~cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory
- Find the RPi IP with
ping -c raspberrypi.local
default config - Copy over your ssh key with:
ssh-copy-id pi@raspberrypi.local
- K3s - (K3s) is a certified Kubernetes distribution built for IoT & Edge computing.
- Helm - Helm is a tool for managing Kubernetes charts.
- Helmfile - Helmfile is a declarative spec for deploying helm charts.
- Sops - Sops is an editor of encrypted files
- GPG - Free encryption software that's compliant with the OpenPGP
Item | Quantity | Unit Price | Total Price |
---|---|---|---|
Raspberry Pi 4 (4GB) | 4 | $59.98 | $239.92 |
SanDisk 32GB 2-Pack | 2 | $13.99 | $27.98 |
Pi 4 Cluster Case | 1 | $24.99 | $24.99 |
Anker 60W 6 Port USB Charging Station | 1 | $25.99 | $25.99 |
USB A to Type C Cables | 2 | $9.99 | $19.98 |
5-Pack Snagless Short Cat6 | 1 | $11.49 | $11.49 |
D-Link 8 Port Gigabit Ethernet Switch | 1 | $31.22 | $31.22 |
Total Taxes not applied | $381.57 |
Something I would consider upgrading would be a PoE switch coupled with the RaspberryPi PoE hats. This would eliminate the need for the need for extra cabling as well as make expanding nodes easier.
Item | Quantity | Unit Price | Total Price |
---|---|---|---|
HUSBZB-1 USB Hub | 1 | $54.95 | $54.95 |
Sengled Smart Plugs 2-Pack | 1 | $34.99 | $34.99 |
Total Taxes not applied | $89.94 |