LensFlow - Eine Lens-Erweiterung, die Kubernetes-Ressourcenbeziehungen als Graph darstellt
(github.com/dev-minsoo)Hallo.
Ich wollte die Beziehungen zwischen Kubernetes-Ressourcen in Lens etwas besser auf einen Blick sehen und habe deshalb eine Erweiterung namens Lens Flow erstellt.
Wenn man Lens verwendet, ist die Erfahrung beim Betrachten einzelner Ressourcen ziemlich gut, aber um dem tatsächlichen Service-Fluss zu folgen, muss man ständig zwischen verschiedenen Ansichten wechseln. Man betrachtet zum Beispiel ein Ingress, sucht den verbundenen Service, prüft, zu welchem Deployment oder Pod dieser Service führt, und wenn man dann noch Referenzressourcen wie ReplicaSet, ConfigMap, Secret oder PVC ansehen will, sind es mehr Klicks als gedacht.
Gerade wenn man einen Ausfall untersucht oder die Struktur eines Namespace zum ersten Mal verstehen will, möchte man Dinge wie „Wohin geht dieser Traffic am Ende eigentlich?“ oder „Was hängt tatsächlich hinter diesem Service?“ schnell sehen können. Mit der bisherigen Lens-Oberfläche ließ sich der gesamte Fluss jedoch nicht immer gut im Kopf erfassen.
Deshalb konzentriert sich Lens Flow darauf, die Workload-Beziehungen innerhalb eines Namespace als einen einzigen Graphen darzustellen. Den Fluss von Ingress zu Service, die Workloads hinter dem Service, ReplicaSet und Pod unter einem Deployment sowie Ressourcen wie ConfigMap, Secret und PVC, auf die eine Workload verweist, kann man auf einem Bildschirm sehen.
Der Graph lässt sich von links nach rechts oder von oben nach unten ausrichten, und nicht benötigte Ressourcen können per Filter ausgeblendet werden. Klickt man auf eine Ressourcenkarte, gelangt man direkt zum Standard-Detailbereich von Lens, sodass man zuerst die Struktur im Graphen überblicken und anschließend nur die benötigten Ressourcen im Detail prüfen kann.
Die Erweiterung läuft in Form einer Lens Extension, ohne separaten Sidecar oder zusätzliche CLI-Installation.
Zwar deckt sie noch nicht alle Kubernetes-Fälle perfekt ab, aber ich hatte den Eindruck, dass sie ziemlich hilfreich ist, um typische Workload-Flüsse zu verstehen oder die Struktur eines Namespace schnell zu überblicken.
Wenn ihr sie ausprobiert und Unannehmlichkeiten oder Ideen für Verbesserungen habt, freue ich mich über euer Feedback.
Noch keine Kommentare.