This repository contains the GitOps configuration for the home Kubernetes platform.
k3s HA cluster with:
- 3 control-plane/etcd nodes
- 1 worker node
- kube-vip for Kubernetes API HA
- MetalLB for LoadBalancer services
- Traefik for HTTP/HTTPS ingress
- Pi-hole for local DNS
| Component | Purpose |
|---|---|
| kube-vip | Kubernetes API virtual IP |
| MetalLB | LAN LoadBalancer IPs |
| Traefik | HTTP/HTTPS ingress |
| Argo CD | GitOps deployment |
| Helm | Kubernetes package management |
| Pi-hole | Local DNS |
| Proxmox | Supporting DevOps infrastructure |
| IP | Purpose |
|---|---|
| 192.168.0.1 | Router |
| 192.168.0.10 | kube-vip Kubernetes API |
| 192.168.0.11 | Proxmox |
| 192.168.0.20 | Traefik LoadBalancer |
| 192.168.0.21+ | MetalLB services |
| 192.168.0.200 | Pi-hole DNS |
bootstrap/ argocd/
clusters/ home/ namespaces/ platform/ apps/
apps/ devops-demo-api/
docs/ network.md
- Install or verify k3s cluster.
- Configure kube-vip.
- Configure MetalLB.
- Verify Traefik LoadBalancer IP.
- Configure Pi-hole local DNS.
- Install Argo CD with Helm.
- Create Argo CD root application.
- Deploy applications through GitOps.