Skip to content

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_TOKEN exportiert

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: cpx31

So funktioniert die CAPI-Bereitstellung

Wenn du lo provision mit kind: Capi ausführst, führt lok8s folgende Schritte aus:

  1. Generiert CAPI-Cluster- und MachineDeployment-Manifeste
  2. Wendet sie auf den Management-Cluster an
  3. CAPH erstellt Hetzner-Cloud-Server
  4. Kubeadm bootstrappt Kubernetes auf den Nodes
  5. Die kubeconfig wird extrahiert und lokal gespeichert

Bereitstellen

bash
lo provision

Template-Struktur

lok8s generiert diese CAPI-Ressourcen aus deiner Konfiguration:

  • Cluster — Einstellungen auf Cluster-Ebene (Netzwerk, Region)
  • HetznerCluster — Hetzner-spezifische Infrastruktur
  • KubeadmControlPlane — Control-Plane-Maschinen
  • MachineDeployment — Worker-Node-Pools
  • HetznerMachineTemplate — Servertyp und Image

Überprüfen

bash
# CAPI-Cluster-Status pruefen
kubectl get clusters -A

# Nodes des Workload-Clusters pruefen
kubectl --kubeconfig=kubeconfig get nodes

Wann CAPI vs. KubeOne verwenden

AspektKubeOneCAPI
Management-ClusterNicht erforderlichErforderlich
Deklarativer LebenszyklusTeilweiseVollständig
Multi-ClusterManuellNativ
KomplexitätGeringerHöher

Verwende KubeOne für einzelne Cluster mit einfachen Anforderungen. Verwende CAPI für Multi-Cluster-Umgebungen oder GitOps-gesteuerte Infrastruktur.

Nächste Schritte


Doku-Status

AspektDetail
Zustandaktiv
Zuletzt geprüft2026-07-10