Inhaltsverzeichnis

Warum braucht kube-vip ggf. super-admin.conf?

Die Datei super-admin.conf kann in bestimmten Setups benötigt werden – z. B. wenn man kube-vip im Leader-Election-Modus als Static Pod unter /etc/kubernetes/manifests/ laufen lässt, wie es oft bei Highly Available (HA) Kubernetes Control Planes der Fall ist.

Der Grund liegt darin, dass kube-vip direkt mit dem Kubernetes-API-Server kommunizieren muss, um z. B.:

Damit kube-vip diese Operationen durchführen kann, braucht es Zugriffsrechte.

In einem sehr frühen Stadium des Clusterstarts – noch bevor RBAC vollständig eingerichtet ist – oder wenn kube-vip als Static Pod im Control Plane läuft, ist es oft nötig, dass kube-vip nicht durch RBAC eingeschränkt wird. Hier kommt die super-admin.conf ins Spiel.

Vorteile von super-admin.conf für kube-vip

Beispiel im Manifest

In einem Manifest eines Static Pods unter /etc/kubernetes/manifests/kube-vip.yaml sieht man z. B. folgenden Eintrag:

volumeMounts:
  - mountPath: /etc/kubernetes/super-admin.conf
    name: kubeconfig
    readOnly: true
...
volumes:
  - name: kubeconfig
    hostPath:
      path: /etc/kubernetes/super-admin.conf
      type: File
Und im Start-Command von kube-vip:

args:
  - "manager"
  - "--kubeconfig"
  - "/etc/kubernetes/super-admin.conf"

Fazit

super-admin.conf wird von kube-vip insbesondere dann verwendet, wenn es als Static Pod läuft und immer vollen Zugriff auf den Kubernetes-API-Server braucht – unabhängig vom RBAC. Sie garantiert, dass kube-vip auch in frühen Phasen des Clusterstarts oder bei Problemen mit RBAC weiterhin korrekt funktionieren kann.