Set up a personal Kubernetes cluster on Hetzner or DigitalOcean for under $20 per month without paying for a managed service.
Configure WireGuard-based private networking between cluster nodes when the cloud provider does not include an isolated private network at the cheap tier.
Get persistent storage working across multiple nodes using Rook so applications survive individual server failures.
Route external traffic through an ingress controller and add automatic SSL certificates to apps running on your self-hosted cluster.
Requires familiarity with Linux, SSH, and cloud VMs, configuring WireGuard, etcd, and Rook across multiple nodes takes significant time and troubleshooting.
This repository is a practical guide for hobbyists who want to run their own Kubernetes cluster on a cloud provider without spending money on a managed service. It targets providers like Hetzner Cloud, DigitalOcean, and Scaleway, which offer affordable virtual machines you provision yourself. The guide addresses specific problems that arise when setting up Kubernetes outside of a managed environment: configuring a working ingress controller to accept external traffic, setting up secure private networking between nodes, and getting persistent storage to work reliably across multiple servers. The guide is opinionated on several fronts. For private networking between cluster nodes it uses WireGuard, a modern VPN tool, because cloud providers do not always offer isolated private networks at the low price tier. For container runtime setup it covers containerd and etcd configuration before walking through the Kubernetes installation steps, including initializing the master node and joining worker nodes to the cluster. Role-based access control, deploying services, routing external traffic through an ingress controller, setting up automatic SSL certificates, and deploying the Kubernetes dashboard are all covered as separate sections. The storage section discusses distributed block storage and walks through deploying Rook, a storage orchestration tool, so that applications can use persistent volumes that survive individual server failures. Alongside the written guide, the repository links to Terraform modules (infrastructure automation scripts) that can automate the cluster setup steps described in the text. The author notes the content may become outdated over time given how fast Kubernetes evolves, and contributions to keep it current are welcome. The intended audience is someone comfortable with Linux and cloud virtual machines who wants a working, affordable Kubernetes cluster for personal projects rather than a production enterprise deployment. The full README is longer than what was shown.
← hobby-kube on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.