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.
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"
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.