This repository documents the design, build, and evolution of my homelab, integrating a production-style Kubernetes cluster (RKE2) into an existing virtualization and storage environment.
Goals:
- Learn Kubernetes on bare metal
- Bridge traditional infrastructure and cloud-native practices
- Create a reproducible, documented environment for career growth
| Role | Hardware |
|---|---|
| Control Plane | Geekom MINI IT12 – i7-1280P |
| Worker Node 1 | Micro PC – i5 |
| Worker Node 2 | Micro PC – i5 |
- 2.5GbE fiber backbone
- Proxmox cluster (2 nodes)
- Centralized storage via NFS
- Kubernetes on bare metal for realism
- Operational Kubernetes experience
- Learn cluster networking, storage, and security
- Document all architecture and design decisions
- Build a career-aligned homelab
Directory structure for Kubernetes configs and workloads:
kubernetes/
├── cluster/
│ ├── rke2/
│ │ ├── install.md
│ │ ├── upgrade.md
│ │ ├── config.yaml
│ │ └── hardening.md
│ └── bootstrap/
│ ├── namespaces.yaml
│ ├── rbac.yaml
│ └── network-policies.yaml
├── ingress/
├── storage/
├── monitoring/
├── workloads/
└── secrets/ (not committed)
- Base RKE2 cluster deployment
- Ingress and internal DNS
- Persistent storage integration
- Monitoring and logging stack
- Real workloads and scaling tests
- Backup and disaster recovery testing
- Security hardening and RBAC tuning
This repository will evolve as the homelab grows and new technologies are introduced. Configurations, lessons learned, and architectural decisions will be documented as part of the learning process.