Container aus dem Proxmox-Template (neueste passende Version aus aplinfo), unprivilegiert, nesting automatisch für docker. Weil Proxmox keine Exec-API für Container hat, läuft die Provisionierung per SSH: bevorzugt pct exec über den Node, sonst direkt in den Container mit einem Bereitstellungsschlüssel, der am Ende wieder entfernt wird. Auf pve-demo beide Wege geprüft: Debian 13 mit docker per pct exec (hello-world läuft mit nesting allein) und Ubuntu 24.04 per SSH in den Container. Dabei gefunden: chrony scheitert ohne CAP_SYS_TIME (jetzt if: vm), sshd -t auf Ubuntu 24.04 ohne /run/sshd. Closes #009 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
#009 LXC-Container ausrollen
Status: erledigt Meilenstein: v0.3.0 Labels: feature, proxmox Geschätzt: 8 h Tatsächlich: 0 h 30 min
Ziel
LXC aus Proxmox-Template, Provisionierung per pct exec (SSH zum Node) oder SSH in den Container.
Aufgaben
- aplinfo prüfen/herunterladen, Planer LXC, Swap, unprivilegiert, Features (nesting per API, keyctl nur per SSH)
- Transport
ssh-node(pct exec) undssh-gast(Bereitstellungsschlüssel, danach entfernen)
Akzeptanzkriterien
- Auf pve-demo: pd-ct01 (Debian 13, base+docker, pct exec, docker hello-world im unprivilegierten CT mit nesting) und pd-ct02 (Ubuntu 24.04, base, SSH in den Container, Bereitstellungsschlüssel danach entfernt)
Abhängigkeiten
#008
Notizen / Entscheidungen
- Fund: chrony läuft in unprivilegierten Containern nicht (keine CAP_SYS_TIME). Profile kennen jetzt die festen Bedingungen
if: vm/if: lxc; base installiert chrony nur in VMs. - Fund: Ubuntu 24.04 startet sshd per Socket,
/run/sshdfehlt bis zur ersten Verbindung –sshd -tscheiterte. Der Adapter legt das Verzeichnis vorher an. - Docker im unprivilegierten Container braucht nur nesting, kein keyctl (geprüft auf PVE 9.2.2 mit Debian 13).
- keyctl darf per Token nicht gesetzt werden; mit Node-SSH setzt ProxDeploy es per
pct set, ohne lehnt die Prüfung ab. - Bereitstellungsschlüssel (eigener ed25519, verschlüsselt in den Einstellungen) nur für den Weg ohne Node-SSH; die Schlüssel des Benutzers gehen nie an root.
- Bei mehreren passenden Container-Templates wird das neueste aus
aplinfogeladen, wenn lokal nur ein älteres liegt.