K3s Home Lab
my kubernetes homelab
this is a post for my home lab kubernetes cluster.
main purpose of lab is to learn and have fun.
Cluster provisioning
K3s: Lightweight Kubernetes distribution running on mixed ARM/x86 architecture.
Hardware
i use one Raspberry Pi 5 control plane and two Intel NUC8i7 worker nodes.
Features
- Advanced networking - Cilium CNI with eBPF for high-performance networking
- GitOps workflow - All configurations managed through Git
- Encrypted secrets - External Secrets Operator with HashiCorp Vault for secure secret management
- Database management - PostgreSQL clusters via CloudNative-PG operator
- Complete observability - Grafana dashboards with Prometheus metrics
- Automated TLS - Let’s Encrypt certificates via cert-manager
- Zero-config internet access - Cloudflare Tunnels without firewall changes
- Automatic dependency updates - Renovate bot for keeping applications current
- Development ready - Preconfigured dev container for immediate productivity
No pods are allowed to be scheduled on the control plane.
Repo structure
decided to use Flux CD and their best practices.
my repo is set up according to this guide.
https://fluxcd.io/flux/guides/repository-structure/
and following this example.