Files
cluster-knaster/project-map.md
2026-10-19 19:14:55 +02:00

6.1 KiB
Raw Permalink Blame History

Projektkarte knaster

Stand 19.10.2026. Was wo läuft, wie man es erreicht und wo es im Repo steht. Bei jeder Änderung an Adressen, Diensten oder Ports mitpflegen (siehe AGENTS.md). Bekannte Probleme: known-issues.md.

Netz

Flaches Netz 192.168.100.0/24, Gateway .1, DNS und DHCP auf dem DC .120 (verwaltet vom DC-Support, nicht von uns). Feste Adressen: Knoten, ops und infra statisch konfiguriert; GPU-VMs und k3s-VM per DHCP (Reservierungen Task 0.2).

Rechner und Gäste

Name Art Adresse Feste Adresse Rolle
pve44 Proxmox-Knoten .210 statisch + Reservierung GPU-Knoten (M4000 + P2000), Heimat von infra
pve46 Proxmox-Knoten .209 statisch, keine Reservierung möglich GPU-Knoten (M4000 + P2000), Heimat von ops
pve48 Proxmox-Knoten .212 statisch, keine Reservierung möglich GPU-Knoten (M4000 + P2000), Heimat der k3s-VM
pve52 Proxmox-Knoten .207 statisch + Reservierung GPU-Knoten (nur M4000)
pve61 Proxmox-Knoten (Surface) .214 statisch Quorum, später Kiosk (Task 5.3), kein tank
ops LXC 100 auf pve46 .173 statisch Steuerrechner/Bastion: kubectl, Ansible, tofu, Repo-Clone
infra LXC 101 auf pve44 (HA) .188 statisch, keine Reservierung möglich Monitoring und Router (Compose-Stack knaster-infra)
k3s VM 110 auf pve48 (HA) .124 DHCP k3s-Steuerung, Portainer CE, kube-state-metrics
gpu-pve44 VM 244 .186 DHCP k3s-Agent; llama.cpp Embedding + Rerank (P2000)
gpu-pve46 VM 246 .178 DHCP k3s-Agent; llama.cpp Embedding + Rerank (P2000)
gpu-pve48 VM 248 .183 DHCP k3s-Agent; llama.cpp Chat (P2000)
gpu-pve52 VM 252 .174 DHCP + Reservierung k3s-Agent; NEX-Sprachdienste (M4000)
appsrv08 fremder Server .29 – NEX-Produktion, LiteLLM (D4), Portainer EE, nex-admin, Traefik
Admin-Laptop – .151 (WLAN), .181 (Dock) Reservierung Arbeitsplatz von r.rapp

Dienste und Ports

Dienst Wo Adresse Zugang
Proxmox-Weboberfläche jeder Knoten https://<knoten>:8006 persönliches Konto + TOTP, nur Adressen aus firewall.management
Grafana infra http://192.168.100.188:3000 admin, kiosk (Viewer); Dashboards: Übersicht, Proxmox, Knoten, GPU, k3s – Pods
Prometheus / Alertmanager infra :9090 / :9093 ohne Anmeldung, nur LAN
knaster-Router infra :8080 Bearer-Token (Dry-Run)
TTS (Piper, knaster) infra :8090 –
k3s-API k3s https://192.168.100.124:6443 kubeconfig nur auf ops; nex-admin mit eigenem Token (nur Namespace nex)
Portainer CE k3s https://192.168.100.124:30779 Portainer-Konten (Datenbank von appsrv08 übernommen)
Portainer-Agent jeder k3s-Knoten :30778 für Portainer
SearXNG (NEX) jeder k3s-Knoten :30880 –
kube-state-metrics jeder k3s-Knoten :30808 für Prometheus
RustDesk hbbs/hbbr jeder k3s-Knoten :21115–21119 Clients zeigen noch auf .29
llama.cpp Embedding / Rerank gpu-pve44, gpu-pve46 :8081 / :8082 LAN (ufw)
llama.cpp Chat (verifier-small) gpu-pve48 :8080 LAN (ufw)
NEX STT (whisper.cpp) / TTS (Piper) gpu-pve52 :8178 / :8179 nur von appsrv08 (ufw)
node_exporter / nvidia_gpu_exporter jede GPU-VM :9100 / :9835 LAN
kubelet jeder k3s-Knoten :10250 Token prometheus-infra

k3s-Namespaces

Namespace Inhalt Ausgerollt mit
kube-system k3s-Grundlagen, metrics-server, NVIDIA Device Plugin (nur M4000), kube-state-metrics playbooks/k3s.yml, playbooks/monitoring-k3s.yml
knaster llama.cpp je GPU-VM (llamacpp-<vm>) playbooks/gpu-llamacpp-k3s.yml
nex NEX-Agenten (von nex-admin), nex-stt, nex-tts, nex-searxng, Brücke zu appsrv08 nex-admin, playbooks/nex-k3s.yml, nex-speech-k3s.yml, nex-searxng-k3s.yml
portainer, portainer-ce Portainer-Agent, Portainer CE playbooks/k3s.yml, playbooks/portainer-k3s.yml
rustdesk RustDesk-Server playbooks/rustdesk-k3s.yml

Repo

Pfad Inhalt
AGENTS.md, project-map.md, known-issues.md Einstieg für Agenten und neue Admins
docs/superpowers/plans/2026-10-12-aufbau-cluster-knaster.md Aufbauplan mit Stand je Task
docs/BETRIEB.md Betriebshandbuch (Monitoring §7, Zugang §8, Firewall §10, k3s §14, Übergabe §15)
docs/ANMELDUNG.md Anmeldung und Vertretung (Password Depot)
docs/NOTFALL-ADMIN-UEBERGABE.md Notfall-Übergabe der Verwaltung an eine andere Person (für die Geschäftsführung)
docs/PLAN.md, docs/adr/, docs/spec/ Architektur, Entscheidungen, Spezifikationen
sites/knaster/proxmox.yaml Zielbild: Knoten, GPUs, VMs, LXC, Zugang, Firewall
sites/knaster/registry.yaml, catalog/ Slots (Modelle je Rolle) und Modellkatalog
config/ Policy, Healer-Regeln, Lifecycle
core/ Python-Paket knaster (Router, Healer, Canary, Inventar) und Tests
deploy/k8s/ Manifeste für k3s (Übersicht: deploy/k8s/README.md)
deploy/compose/ Compose-Stacks (infra aktiv; gpu-llamacpp, nex-speech nur noch Rückweg)
deploy/prometheus/, deploy/alertmanager/, deploy/grafana/ Monitoring-Konfiguration für infra
platform/proxmox/tofu/ VMs und LXC (OpenTofu, bpg/proxmox)
platform/proxmox/ansible/ Rollen und Playbooks (laufen auf ops)
platform/proxmox/scripts/ Bootstrap, Healthcheck, Zugang auffrischen, Monitoring-Ziele, Admin-Konto
n8n/workflows/ n8n-Workflows (inaktiv importieren)

Geheimnisse (nur Orte, nie Inhalte)

Was Wo
Proxmox-Admin-Passwort, TOTP, root-Passwörter Password Depot; Kopie Passwörter auf dem Admin-Laptop it/proxmox/.env
SSH-Schlüssel Laptop Admin-Laptop it/proxmox/keys/
tofu-, pve-exporter-, Healer-Token, k3s-Token, nex-admin-Token, Prometheus-Token, k3s-CA, Gitea-Registry ops /root/.config/knaster/
Postgres, Router-Token, Grafana-Passwörter, Kopien der Exporter-/k3s-Zugänge infra /opt/knaster/infra/.env, /opt/knaster/infra/secrets/
kubeconfig ops /root/.kube/config