👋 Welcome to my Kubernetes Homelab Cluster repository! This project serves as a practical learning environment for exploring Kubernetes and Infrastructure as Code (IaC) practices using tools like FluxCD, Renovate, go-task and other
- 🍼 Overview
- 📖 Table of contents
- 📚 Documentation
- 🖥️ Technological Stack
- 🔧 Hardware
- ☁️ External Dependencies
- 🤖 Automation
- 🤝 Thanks
Name | Description | |
---|---|---|
Proxmox | Virtualization platform | |
Kubernetes | An open-source system for automating deployment, scaling, and management of containerized applications | |
Helm | The Kubernetes package manager | |
FluxCD | GitOps tool for deploying applications to Kubernetes | |
Talos Linux | Talos Linux is Linux designed for Kubernetes | |
Cert Manager | X.509 certificate management for Kubernetes | |
Cilium | Internal Kubernetes container networking interface. | |
Ingress-nginx | Kubernetes ingress controller using NGINX as a reverse proxy and load balancer. | |
Cloudflared | Enables Cloudflare secure access to certain ingresses. | |
CoreDNS | Cluster DNS server | |
Spegel | Stateless cluster local OCI registry mirror. | |
External-dns | Automatically syncs ingress DNS records to a DNS provider. | |
External Secrets | Managed Kubernetes secrets using 1Password Connect. | |
Sops | Managed secrets for Kubernetes and which are commited to Git. | |
Longhorn | Cloud native distributed block storage for Kubernetes | |
VolSync | Backup and recovery of persistent volume claims. | |
Prometheus | Monitoring system and time series database | |
Thanos | Highly available Prometheus setup with long-term storage capabilities | |
Grafana | Data and logs visualization | |
Loki | Horizontally-scalable, highly-available, multi-tenant log aggregation system | |
Vector | Collects, transform and routes logs to Loki |
Device | Count | Disk Size | RAM | OS | Purpose |
---|---|---|---|---|---|
Lenovo M910Q Tiny i5-6500T | 3 | 2x1TB SSD | 32GB | Talos | Kubernetes Master Nodes |
Raspberry Pi 5 | 1 | 8GB | RpiOS | DNS, SmartHome | |
Synology RS422+ | 1 | 4x16TB HDD | 2GB | DSM | NAS |
UPS 5UTRA91227 | 1 | UPS | |||
UniFi UDM Pro | 1 | UnifiOS | Router | ||
UniFi USW PRO 24 Gen2 | 1 | Switch | |||
UniFi USW Lite 8 | 1 | Switch | |||
UniFi U6 In-Wall | 1 | Access Point | |||
UniFi U6 Mesh | 1 | Access Point |
This list does not include cloud services that I use for personal reasons and don't yet want to migrate to self-hosted,
such as Google (Gmail, Photos, Drive), streaming services, Apple, and some applications. Legacy cloud services listed
at the bottom are remnants from previous attempts to set up smart home observability dashboards and will be migrated
and shut down never as soon as I have time to transfer all the configurations.
Service | Description | Costs |
---|---|---|
1Password | Secrets managements | 76$/year |
Cloudflare | Domain and DNS | Free |
GitHub | Repository Hosting | Free |
Discord | Notifications | Free |
Let's Encrypt | Certificates | Free |
Notifiarr | Notifications push | 5$ one time |
AWS Route 53 | Domain | 0,5$/month |
AWS EC2 | (Legacy) Grafana, InfluxDB hosting for smart home analytics. Need to migrate | ~15$/month |
InfluxDB Cloud | (Legacy) Smart home data storage. Need to migrate | ~14$/month |
AWS Other | (Legacy) Email hosting. Need to migrate | ~10$/month |
Total: 45$/month |
This project was mostly copypasted from inspired by a onedr0p/home-ops
and onedr0p/cluster-template repositories.
A big thanks to the members of the Home Operations community
for their support and for sharing their repositories.
Additional thanks to the Kubesearch project for ability to search for different configurations.
Thanks kubepug for the logo. I like pugs