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.:
- sich an der Leader-Election als „Leader“ zu registrieren,
- Konfigurationsinformationen aus dem Cluster zu lesen/schreiben,
- eigene Ressourcen zu erstellen oder zu aktualisieren.
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
- RBAC-unabhängiger Zugriff: kube-vip kann den API-Server erreichen, auch wenn noch keine passenden RBAC-Rollen oder ClusterRoles eingerichtet sind.
- Zuverlässiger Clusterstart: Wenn kube-vip an der IP-Adressvergabe oder Load-Balancer-Konfiguration beteiligt ist, muss es sicherstellen, dass es jederzeit auf den API-Server zugreifen kann.
- Leader-Election funktioniert reibungslos, weil kube-vip Einträge in ConfigMaps oder Leases aktualisieren muss.
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.