platform: OpenTofu/Ansible für Proxmox, CI, Makefile, Doku-Abgleich
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# platform/proxmox
|
||||
|
||||
Proxmox-spezifische Schicht (austauschbar, siehe PLAN §7.2). Eingabe ist immer `sites/<site>/proxmox.yaml`.
|
||||
|
||||
**Status:** geschrieben, aber noch **nicht gegen den echten Cluster getestet**. Erster Lauf beim gemeinsamen Deployment, jeweils mit `tofu plan` bzw. `ansible-playbook --check`.
|
||||
|
||||
## Ablauf
|
||||
|
||||
1. **Inventar:** auf jedem Node `knaster inventory collect` ausführen und `sites/knaster/inventory.yaml` ersetzen. Danach `knaster placement plan --inventory sites/knaster/inventory.yaml` und die Ergebnisse in `proxmox.yaml` übertragen (PCI-Pfade über `lspci -nn | grep -i nvidia`, IOMMU-Gruppen).
|
||||
2. **Hosts vorbereiten:** `ansible-playbook playbooks/site.yml --limit pve_hosts`. Setzt IOMMU und VFIO und sperrt die NVIDIA-Treiber auf dem Host. Danach die Hosts neu starten. Der ZFS-Pool `tank` wird **nicht** automatisch angelegt (Datenverlustgefahr), die Rolle gibt dafür den Befehl aus.
|
||||
3. **Template:** pro Node ein Ubuntu-24.04-Cloud-Image als Template mit VMID 9000.
|
||||
4. **VMs/LXC:** `cd tofu && tofu init && tofu plan -var proxmox_api_token=...` und danach `tofu apply`.
|
||||
5. **Gäste:** `ansible-playbook playbooks/site.yml --limit gpu_vms,infra`. Installiert die Treiber pro Generation gepinnt (legacy/modern), das Container-Toolkit, Docker und den Xid-Exporter.
|
||||
6. **Dienste:** `deploy/compose/<rolle>` auf den jeweiligen Gästen starten.
|
||||
|
||||
## Bewusste Grenzen
|
||||
|
||||
- Keine Live-Migration von GPU-VMs. HA gilt nur für den Infra-LXC (mit ZFS-Replikation alle 15 Min.).
|
||||
- Der Proxmox-API-Token für den Healer braucht nur `VM.PowerMgmt` auf den GPU-VMs und `Sys.PowerMgmt` (Host-Neustart, nur mit Freigabe).
|
||||
Reference in New Issue
Block a user