stakeholders
parts requests
- 3 raspberry pi 3b+/4/zero
- k3s - lightweight k8s for IoT/ARM
- tailscale - software defined mesh VPN with private DNS built in
cluster initialization
download and install
curl -sfL https://get.k3s.io | sh -
# Check for Ready node,
# takes maybe 30 seconds
k3s kubectl get node
setup nodes
K3S_TOKEN=SECRET k3s server --server https://masters-up
âšī¸
Source: K3s HA Installation Guide
plug A into B
- Tailscale is available as a binary for Raspbian, but we need to containerize it for k8s.
- Two options:
- Dockerize: github.com/tailscale/tailscale
- Or Dockerize these steps:
# Raspbian Buster (for Raspberry Pi)
# Add Tailscale's GPG key
curl https://pkgs.tailscale.com/unstable/raspbian/buster.gpg | sudo apt-key add -
# Add the tailscale repository
curl https://pkgs.tailscale.com/unstable/raspbian/buster.list | sudo tee /etc/apt/sources.list.d/tailscale.list
# Install Tailscale
sudo apt-get update && sudo apt-get install tailscale
# Start Tailscale!
sudo tailscale up
assemble
- Check out Tailscale Dogcam for project inspiration
- Stress test Tailscale
y tho
Learn & POC:
- Lightweight k8s
- Mesh VPN to turn a home machine into a jump server
- Turn iPad Pro into a thin client
- Software-defined networks
- Hardware maintenance
- Evaluate ease of automating cluster management