Zum Inhalt

Einrichtung von kubelogin

Das kleine Tool kubelogin (auch: kubectl oidc-login) ermöglicht die Verwendung von OpenID Connect (OIDC) Authentifizierung für Kubernetes, z.B. mit der NWS-ID.

Installation von kubelogin

kubelogin kann entweder als Releasebinary oder durch einige Paketmanager installiert werden.

Installation als Binary

Die aktuellen Releasebinaries finden sich auf GitHub.

Benennung und Ablageort

Nach Download und Entpacken der .zip-Datei muss die Binary in kubectl-oidc_login umbenannt und im $PATH abgelegt werden. Andernfalls findet kubectl das Plugin nicht.

Installation durch Paketmanager

Für Homebrew, krew (kubectl's Pluginmanager), und Chocolatey existieren paketierte Versionen von kubelogin:

brew install int128/kubelogin/kubelogin
kubectl krew install oidc-login
choco install kubelogin

Nutzung von kubelogin

Nach erfolgreicher Installation kann die OIDC-Authentifizierung durch kubelogin getestet werden.

Hierzu konfiguriert man kubectl zuerst mit einer Kubeconfig via NWS-ID, wie im Artikel Einrichtung von kubectl beschrieben.

Im Anschluss wird die Authentifizierung bei Benutzung von kubectl automatisch angestoßen. Ist der Nutzer nicht authentifiziert, öffnet sich ein Browserfenster:

Loginmaske von MyNWS

Nach erfolgreichem Login erscheint im Browser eine Erfolgsmeldung. Das Fenster kann geschlossen werden - die authentifizierte Session wird von kubelogin automatisch gecached im Terminal gecached.

Erfolgsmeldung nach der Authentifizierung an MyNWS

Nachfolgende Anfragen an das Kubernetes-Cluster via kubectl geschehen automatisch authentifiziert.