diff --git a/log.md b/log.md index aef1192..1b47c1d 100644 --- a/log.md +++ b/log.md @@ -1,5 +1,14 @@ # Memory Log +## [2026-09-30] k8s-cp01-relief-descheduler | Workload-Migration + Descheduler-Deployment +- cp-01 bei 93% RAM → hindsight-api + hindsight-postgres + paperless nach worker-05 migriert (cordon/delete/uncordon). cp-01 RAM 93%→43%. +- ArgoCD selfHeal belebte alte ReplicaSets mit nodeSelector wieder → manuell auf 0 skalieren bis konvergiert. +- hindsight-api Live-Pin (Sep-17-Hotfix) war nie in Git → Live-Patch nötig. +- Descheduler v0.30.0 deployt (raw Manifests, nicht Helm — Chart hat params/args-Bug + falsche API-Version). Policy: LowNodeUtilization (30/50/20 → 70/70/60), 2m Intervall, nodeFit auf Profile-Ebene. +- RBAC-Lektion: Descheduler braucht `list/watch` auf `namespaces` in ClusterRole. +- ArgoCD repoURL: `ssh://git@10.0.30.200:22/...` (mit `git@` User-Prefix, wie alle anderen Apps). +- Solution Doc + INDEX + Wiki rke2-kubernetes.md aktualisiert. Commits b955d7e→8c1ecff. + ## [2026-09-30] ceph-monitoring-hardened | Mgr-Failover-Resistenz + SMART-Korrektur - Ceph-Scrape war Single-Target am aktiven mgr (10.0.20.60) → jeder mgr-Failover hätte ALLE Ceph-Alerts stumm gemacht (Standbys: 200/empty-body). Fix: Union über alle 5 mgr-Kandidaten (.50,.60,.70,.91,.92:9283) in prometheus.yml — aktiver mgr liefert, Standbys harmlos leer. TOTAL DOWN TARGETS: 0. Auch 10.0.20.70:9100 (node_exporter mit ceph-fill-collector) in Scrape-Ziele aufgenommen. - Zwischenfail: `aliases:`-Field in Alert-Regel ungültig (RuleNode kennt das nicht) → Prometheus Fatal. Behoben durch Entfernen + force-recreate. diff --git a/systems/rke2-kubernetes.md b/systems/rke2-kubernetes.md index b5e29bc..ee86b43 100644 --- a/systems/rke2-kubernetes.md +++ b/systems/rke2-kubernetes.md @@ -66,6 +66,19 @@ modified: "2026-09-17" - IaC: unified `amd-gpu` PCI mapping (n5pro + ms-a2-1 + ms-a2-2) + dynamic hostpci (one worker block, gpu flag) - ms-a2-1 has kernel BUG with 1002:13c0 (renderD128 missing) — worker-05 moved to ms-a2-2 (identical hardware) +## Capacity Management +- **Descheduler** v0.30.0 deployed als ArgoCD-App (`clusters/main/descheduler/manifests.yaml`) + - Plugin: `LowNodeUtilization` (thresholds 30/50/20, targetThresholds 70/70/60) + - Interval: 2m (`--descheduling-interval=2m`) + - `nodeFit: true` auf Profile-Ebene (nicht Plugin-Ebene — v0.30 Schema!) + - RBAC: benötigt `list/watch` auf `namespaces` (fehlt in Default-Helm-Chart) + - Raw Manifests statt Helm Chart (Chart 0.30 hat params/args-Bug, Chart 0.35 hat falsche API-Version) + - Siehe Solution Doc `2026-09-30-k8s-cp01-relief-descheduler.md` +- **CP-01 Relief (2026-09-30):** hindsight-api + hindsight-postgres + paperless von cp-01 → worker-05 migriert + - cp-01 RAM: 93% → 43%; worker-05 bei ~28% + - ArgoCD selfHeal belebte alte ReplicaSets mit nodeSelector wieder → manuell auf 0 skalieren + - Live-only nodeSelector (hindsight-api, Sep-17-Hotfix) war nie in Git → Live-Patch nötig + ## Known Pitfalls - `enableServiceLinks: false` bei Apps deren Service-Name mit Env-Vars kollidiert (z.B. Paperless `PAPERLESS_PORT`) - ArgoCD `--force` kann nicht mit ServerSideApply kombiniert werden