Cluster API (CAPI) auf Hetzner
Stelle Kubernetes-Cluster mit Cluster API und dem Hetzner-Infrastruktur-Provider (CAPH) bereit.
Voraussetzungen
- lok8s CLI installiert
- Ein CAPI-Management-Cluster (oder verwende
lo, um einen zu bootstrappen) - clusterctl installiert
- Hetzner-Cloud-API-Token als
HCLOUD_TOKENexportiert
Cluster-Konfiguration
Erstelle eine cluster.lok8s.yaml mit kind: Capi:
yaml
apiVersion: cluster.lok8s.dev/v1beta1
kind: Capi
metadata:
name: capi-cluster
spec:
kubernetes:
version: "v1.35.5"
provider: hetzner
hcloud:
region: fsn1
sshPublicKeyFile: "~/.ssh/id_ed25519.pub"
network:
cidr: "10.0.0.0/16"
controlPlane:
replicas: 3
type: cx33
workers:
platform:
replicas: 2
type: cpx31So funktioniert die CAPI-Bereitstellung
Wenn du lo provision mit kind: Capi ausführst, führt lok8s folgende Schritte aus:
- Generiert CAPI-Cluster- und MachineDeployment-Manifeste
- Wendet sie auf den Management-Cluster an
- CAPH erstellt Hetzner-Cloud-Server
- Kubeadm bootstrappt Kubernetes auf den Nodes
- Die kubeconfig wird extrahiert und lokal gespeichert
Bereitstellen
bash
lo provisionTemplate-Struktur
lok8s generiert diese CAPI-Ressourcen aus deiner Konfiguration:
Cluster— Einstellungen auf Cluster-Ebene (Netzwerk, Region)HetznerCluster— Hetzner-spezifische InfrastrukturKubeadmControlPlane— Control-Plane-MaschinenMachineDeployment— Worker-Node-PoolsHetznerMachineTemplate— Servertyp und Image
Überprüfen
bash
# CAPI-Cluster-Status pruefen
kubectl get clusters -A
# Nodes des Workload-Clusters pruefen
kubectl --kubeconfig=kubeconfig get nodesWann CAPI vs. KubeOne verwenden
| Aspekt | KubeOne | CAPI |
|---|---|---|
| Management-Cluster | Nicht erforderlich | Erforderlich |
| Deklarativer Lebenszyklus | Teilweise | Vollständig |
| Multi-Cluster | Manuell | Nativ |
| Komplexität | Geringer | Höher |
Verwende KubeOne für einzelne Cluster mit einfachen Anforderungen. Verwende CAPI für Multi-Cluster-Umgebungen oder GitOps-gesteuerte Infrastruktur.
Nächste Schritte
- GitHub Actions — CAPI-Bereitstellung in CI automatisieren
- Registrierung — beim kubehz-Dashboard registrieren
- KubeOne — einfachere alternative Provisioner
Doku-Status
| Aspekt | Detail |
|---|---|
| Zustand | aktiv |
| Zuletzt geprüft | 2026-07-10 |