K8sControlplane¶
K8sControlplane orchestriert eine Kubernetes-Controlplane auf einem Host-Cluster über den Block ayedo/k8s/k3s-server (Installation, IPAM, DNS, Join-Token, Soft-Delete) analog zum LoadBalancer-Muster. Outcome ist ein verknüpftes K8sCluster-Objekt.
Host-Cluster / Foundation: Block ayedo/linux/k8s-1.27, in der API eine Region. Distro-Doku: k3s-server.
Fähigkeiten¶
| Bereich | Inhalt |
|---|---|
| Installation | Block-basiert über Block Rollout |
| IPAM | Prefix mit region und purpose=controlplane |
| DNS | System-/Zone-Anbindung für Controlplane-Hostnames |
| Join | Detail-Tab mit Join-Informationen / Token |
| Lifecycle | Soft-Delete + Cleanup über Rollout-Uninstall |
Architekturprinzip¶
Wie beim LBI gilt Single-Writer-Partitioning:
- Controlplane-Reconciliation setzt Desired State und enqueued Block-Actions
- Der BlockRollout-Scheduler führt Install/Uninstall aus
- Completion-Hooks aktualisieren den Owner (
on_block_rollout_item_complete)
Waves sind über managed_by von LBI-Waves getrennt — Controlplane- und Loadbalancer-Installs blockieren sich nicht gegenseitig.
Voraussetzungen¶
- Ziel-Region mit geeignetem Workspace/Cluster-Kontext
- IPAM-Prefix für Controlplane
- Block-Templates / BRC-Konfiguration für die Controlplane-Komponenten