Expert GuideWie Sie mit k9s einen Kubernetes- Cluster aus der Kommandozeile überblicken können

Claus Küthe — 30. April 2025
Lesezeit: 1:58 Minuten

Wie Sie mit k9s einen Kubernetes- Cluster aus der Kommandozeile überblicken können

Mit k9s steht ein Werkzeug zur Verfügung, mit dem Pods eines
Kubernetes-Clusters interaktiv von der Kommandozeile aus
überwacht werden können.

Wer mit Kubernetes und Mikroservices arbeitet, wird das Problem kennen: Die Fehlersuche von der Kommandozeile gestaltet sich schwierig und muss oft über mehrere Pods hinweg ausgeführt werden, und zieht viel Tipparbeit nach sich. Das Dashboard oder Alternativen mag wiederum nicht immer verfügbar sein und stellt einen Medienbruch dar, durch den man öfter zwischen Konsole und Browser wechseln muss.

Zur Vereinfachung gibt es ein hilfreiches kleines Werkzeug namens k9s, das eine einfache Übersicht aller Pods zeigt und eine ähnliche Darstellung wie top nutzt:

Zur Vereinfachung gibt es ein hilfreiches kleines Werkzeug namens k9s, das eine einfache Übersicht aller Pods zeigt und eine ähnliche Darstellung wie top nutzt
Screenshot eines Terminals mit k9s

Hier wird als Beispiel ein frisch gestartetes Minikube in der klassischen 24*80-Ansicht gezeigt, dessen Services teilweise noch nicht gestartet sind.

Installation

k9s ist auf der Seite https://k9scli.io/ verfügbar.

Unter https://github.com/derailed/k9s/releases finden sich Downloads für verschiedene Paketmanager. Hier haben wir eine einfache Installation via tarball bevorzugt. Es gibt daneben auch Pakete für alle gängigen Distributionen (rpm, deb). Dabei sollte man nur nicht arm64 und amd64 verwechseln ;-)!

Nutzung

k9s kann direkt und ohne weitere Konfiguration gestartet werden, sofern eine funktionierende kubectl-Installation und -Konfiguration vorliegt. Falls nicht, muss diese erst bereitgestellt werden, ein Unterfangen, das an dieser Stelle zu weit führen würde.

Der reine Start als k9s nutzt den Namensraum, der in der kubeconfig als Standard gesetzt ist, meistens default. Für einen bestimmten Namensraum dient der -n-Flag: k9s -n wordpress. Alternativ dazu kann auch -A für alle Namensräume verwendet werden.

Danach befindet man sich in einer top-üblichen Übersicht, in der laufende Container, ggf. mit Fehlermeldungen und derzeitigem Status sowie weiteren Informationen angezeigt werden. Dies ist definitiv hilfreich, um sich eine schnelle Übersicht zu verschaffen.

Logfiles

Mit den Cursortasten können einzelne Deployments/Pods ausgewählt und über die Eingabetaste aufgerufen werden. Dort kann man, wieder über die Eingabetaste, die Logfiles eines einzelnen Pods ansehen. Wer sich dieses sparen will, kann sie auch direkt aus der zentralen Übersicht per l auswählen. Laufen unter einem Deployment mehrere Pods, werden alle Pods in einem Logfile zusammengefasst.

Hier zeigt sich eine Stärke des Systems: Es kann bequem mit den Cursortasten geblättert werden. Standardmässig folgt k9s dem Logfile. Mit s (Toggle Autoscroll) kann dieses Verhalten jedoch geändert werden.

Mit "/" kann die Ausgabe zusätzlich durchsucht werden und wird direkt interaktiv um die nicht zutreffenden Zeilen bereinigt.

Shell

Von der Übersichtsseite aus kann per s in die Shell eines Containers gewechselt werden, sofern er eine hat. Diese kann dann mit exit wieder verlassen werden (abhängig vom System).

delete & kill

Mit STRG+d können Pods “normal”, mit STRG+k per kill beendet werden. In beiden Fällen wird der Pod neu gestartet.

Es ist zu beachten, dass in beiden Fällen nicht das Deployment gelöscht wird. Es wird nur der laufende Pod beendet und neu gestartet.

describe

Mit d erhalten wir eine Beschreibung eines Pods, wie auch kubectl describe sie liefert. Auch hier wird die Ausgabe besser handhabbar.

forward

Eine von mir seltener verwendete Funktion ist die Möglichkeit, mit UMSCHALT+f eine Portweiterleitung einzurichten (also das Gegenstück zu kubectl port-forward). Praktisch ist, dass k9s hier bereits vorschlägt,welcher Port weitergeleitet werden könnte. Eine bestehende Weiterleitung wird mit Ⓕ in der Spalte PF angezeigt.

Vorsicht, sie wird beendet, sobald man k9s verlässt!

Neben den hier besprochenen Funktionen bietet k9s noch eine Menge mehr, die mit ? angezeigt werden können.

Fazit

k9s ist eines der Werkzeuge, das einfach nur Freude macht und positioniert sich in einer Nische zwischen kubectl und dem Dashboard (oder gar erheblich aufwändigeren Lösungen wie Grafana et al). Aus eigener Erfahrung können wir sagen, dass es in einem Umfeld mit Minikube Zugang und Fehlersuche erheblich erleichtert hat und wir wollten es nicht mehr missen.

Andreas Wagener

Sie haben Fragen zu Kubernetes? Kontaktieren Sie mich gern per E-Mail.

Andreas Wagener, Head of Data Protection Consulting
Telefon +49 172 761 94 15

Wenn Sie sich hierfür interessieren, dann interessieren Sie sich vielleicht auch für...