107 lines
4.3 KiB
Markdown
107 lines
4.3 KiB
Markdown
# RKE2 Cluster Topology & Inventory
|
|
|
|
## Cluster Nodes
|
|
|
|
| VMID | Name | Role | IP | Specs | RKE2 Service |
|
|
|------|------|------|----|-------|-------------|
|
|
| 118 | rke2-cp-01 | control-plane,etcd | 10.0.30.51 | 4c/12GB/40GB | rke2-server |
|
|
| 130 | rke2-cp-02 | control-plane,etcd | 10.0.30.52 | 4c/12GB/40GB | rke2-server |
|
|
| 129 | rke2-cp-03 | control-plane,etcd | 10.0.30.53 | 4c/12GB/40GB | rke2-server |
|
|
| 128 | rke2-worker-01 | worker | 10.0.30.61 | 4c/12GB/80GB | rke2-agent |
|
|
| 132 | rke2-worker-02 | worker | 10.0.30.62 | 4c/12GB/80GB | rke2-agent |
|
|
| 131 | rke2-worker-03 | worker | 10.0.30.63 | 4c/12GB/80GB | rke2-agent |
|
|
|
|
- **RKE2 API VIP**: 10.0.30.50 (Keepalived on CP nodes)
|
|
- **RKE2 version**: v1.35.2+rke2r1
|
|
- **Container runtime**: containerd 2.1.5-k3s1
|
|
- **OS**: Debian 12 (bookworm), kernel 6.1.0-44-amd64
|
|
|
|
## Management VM
|
|
|
|
| VMID | Name | IP | Specs |
|
|
|------|------|----|-------|
|
|
| 200 | mgmt-runner-01 | 10.0.30.X (DHCP) | 4c/4GB/30GB |
|
|
|
|
- Has `kubectl`, `helm`, `git`, GitHub Actions runner
|
|
- Kubeconfig at `/root/.kube/config` (must set `KUBECONFIG=` explicitly)
|
|
- GitHub Actions runner: `actions.runner.dsgrafiniert-iac-homelab.mgmt-runner-01`
|
|
- OpenTofu state files in `/opt/tofu-state/`
|
|
|
|
## LoadBalancer IP Assignments
|
|
|
|
| Service | Namespace | LB IP | Ports |
|
|
|---------|-----------|-------|-------|
|
|
| Traefik Ingress | kube-system | 10.0.30.202 | 80, 443 |
|
|
| PostgreSQL RW (CNPG) | postgres | 10.0.30.200 | 5432 |
|
|
|
|
**Cilium LB Pool**: 10.0.30.200 - 10.0.30.250 (48 IPs available)
|
|
|
|
**Removed**: K8s MariaDB MaxScale (was 10.0.30.201, namespace deleted
|
|
2026-07-12). MariaDB Galera runs as native VMs, not in K8s.
|
|
|
|
**Non-K8s services on same subnet** (must not overlap with LB pool):
|
|
- 10.0.30.50 = RKE2 API VIP (Keepalived)
|
|
- 10.0.30.70 = MaxScale VIP (Keepalived, standalone Galera VMs)
|
|
- 10.0.30.71-73 = Galera VMs (VM300-302)
|
|
- 10.0.30.99 = Docker host (CT121)
|
|
- 10.0.30.104 = Frigate (CT120)
|
|
- 10.0.30.105 = Gitea (CT108)
|
|
- 10.0.30.10 = Home Assistant (VM106)
|
|
|
|
## Operators & Add-ons
|
|
|
|
| Component | Namespace | Status |
|
|
|-----------|-----------|--------|
|
|
| Cilium CNI | kube-system | Running (eBPF, L2 announcements) |
|
|
| Traefik Ingress | kube-system | Running (RKE2-bundled) |
|
|
| CoreDNS | kube-system | Running (RKE2-bundled) |
|
|
| Metrics Server | kube-system | Running |
|
|
| External Secrets Operator | external-secrets | Running (1Password backend) |
|
|
| CloudNativePG | cnpg-system | Running (PostgreSQL operator) |
|
|
| Velero | velero | Running (S3 backup) |
|
|
| Ceph CSI | kube-system | Running (RBD storage, external Ceph) |
|
|
| ArgoCD | argocd | Running (GitOps, App-of-Apps) |
|
|
|
|
**Removed** (2026-07-12): MariaDB Operator + CRDs — namespace
|
|
`mariadb` and `mariadb-operator` deleted. Galera runs as native VMs.
|
|
|
|
## ArgoCD Applications
|
|
|
|
| App | Sync Wave | Status | Description |
|
|
|-----|-----------|--------|-------------|
|
|
| root | — | Synced/Healthy | Root App-of-Apps |
|
|
| operators | 0 | Synced/Healthy | CNPG, Velero operators |
|
|
| databases | 1 | Synced/Healthy | PostgreSQL cluster |
|
|
| backups | 2 | Synced/Healthy | Velero schedules |
|
|
| memory | 3 | Unknown/Degraded | Qdrant + Ollama + Memory API |
|
|
| cloudnativepg-operator | — | Synced/Healthy | CNPG operator |
|
|
| velero-operator | — | Synced/Healthy | Velero operator |
|
|
|
|
**Removed** (2026-07-12): `mariadb-operator`, `mariadb-operator-crds`
|
|
apps — deleted from repo, CRs cleaned up manually, namespaces + CRDs purged.
|
|
|
|
## IaC Repositories (Gitea at 10.0.30.105:3000)
|
|
|
|
| Repo | Content |
|
|
|------|---------|
|
|
| dominik/iac-homelab | Main IaC: 7 epics, OpenTofu, Ansible, ArgoCD apps |
|
|
| dominik/observability-iac | Observability: Loki, Prometheus/Thanos, Grafana |
|
|
| d.schoen/terraform-proxmox-k8s | Older Terraform-Proxmox-K8s work |
|
|
| d.schoen/packer-proxmox | VM templates with Packer |
|
|
|
|
## PVE Node Map
|
|
|
|
| Node | IP | Notes |
|
|
|------|----|-------|
|
|
| proxmox1 | 10.0.20.10 | Cluster master (API endpoint) |
|
|
| proxmox2 | 10.0.20.20 | Hosts CP-03, Worker-02 |
|
|
| proxmox3 | 10.0.20.30 | Hosts CP-02, Worker-03, mgmt-runner |
|
|
| proxmox4 | 10.0.20.40 | Hosts MaxScale VM, Galera VM |
|
|
| proxmox5 | 10.0.20.50 | Hosts CP-01, Worker-01 |
|
|
| proxmox6 | 10.0.20.60 | Hosts Gitea, Authelia, Paperless |
|
|
| proxmox7 | 10.0.20.70 | Hosts monitoring, Omada, Ollama |
|
|
| n5pro | 10.0.20.91 | AMD GPU, Frigate, Seafile, Immich |
|
|
|
|
**Note**: VM placements change with HA migration. Always discover
|
|
current placement before operating (scan all nodes with `qm list`).
|