Infrastructure as Code voor mijn homelab cluster.
- 3x HP EliteDesk Mini-PC (32GB RAM each)
- Ubuntu Server 24.04 LTS
- Kubernetes (the Hard Way)
Alle documentatie staat in /docs:
| Document | Beschrijving |
|---|---|
| Overview | Project overzicht en status |
| Hardware | Hardware specificaties |
| Network | Netwerk configuratie en IP schema |
| Installation | Ubuntu Server installatie guide |
| Post-install | Hardening en setup na installatie |
git clone <repo-url>
cd Homelabcp ansible/inventory/hosts.yml.example ansible/inventory/hosts.yml
# Edit hosts.yml als je andere IP's hebt# Ansible: prepare nodes
cd ansible
ansible-playbook -i inventory/hosts.yml playbooks/prepare-nodes.yml
# Helm: upgrade Cilium
helm upgrade cilium cilium/cilium -n kube-system \
-f cluster-config/infra/cilium/values.yamlWe bouwen stap-voor-stap naar een GitOps-beheerde omgeving:
- Gateway API CRDs
- Cilium Gateway enablen
- MetalLB (LoadBalancer IPs)
- cert-manager (TLS)
- Gateway + HTTPS
- Argo CD
- App-of-apps
- Plan: docs/20-stappenplan-gitops.md
- Stap 2 (Cilium Gateway): docs/22-cilium-gateway.md.
- Stap 3 (MetalLB): docs/23-metallb.md.
- Stap 4 (cert-manager): docs/24-cert-manager.md.
- Stap 5 (Gateway + TLS): docs/25-gateway-tls.md.
.
├── docs/ # Documentatie (chapters)
├── ansible/ # Ansible configuratie
│ ├── inventory/ # Host definities (.example in Git)
│ ├── playbooks/ # Playbooks
│ └── roles/ # Herbruikbare roles
├── cluster-config/ # GitOps configuratie
│ └── infra/ # Infrastructure components
│ └── cilium/ # CNI + Gateway (values.yaml.example in Git)
├── kubernetes/ # K8s manifests (komt later)
└── scripts/ # Utility scripts
| Netwerk | Range | Nodes |
|---|---|---|
| LAN | 192.168.178.0/24 | cp-01 (.201), node-01 (.202), node-02 (.203) |
| Pod CIDR | 10.200.0.0/16 | /24 per node |
| Service CIDR | 10.32.0.0/24 | ClusterIP's |
| Component | Status |
|---|---|
| Kubernetes v1.29.2 | ✅ Running |
| Cilium 1.19.0 | ✅ Running |
| Gateway API CRDs | ✅ Installed |
| Cilium Gateway | ✅ Running |
| MetalLB | ⏳ Pending |
| cert-manager | ⏳ Pending |
| Argo CD | ⏳ Pending |
Private - personal homelab configuration