Skip to content

grahamplata/kubernetes-homelab

Repository files navigation

Kubernetes Home Lab

Description

My Kubernetes homelab configuration.

Commands

# Diff release
helmfile -e home diff

# Sync release
helmfile -e home sync

# Target release
helmfile -e home --selector=name=openfaas sync

Node Setup

  • 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

Stack

  • 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

Bill of Materials

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.

IOT Items

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