Nane Kratzke

Thesis:

Entwicklung einer Lens Extension zur Darstellung von Web-UIs in Kubernetes-Clustern

Published: 04 Mar 2021 (latest update: 14 Nov 2022)
Type: Bachelor (B. Sc.)
State: completed
Author: Mashhour Abbas
Study: Informatik
Language: Deutsch
Institute: myLab

Lens ist eine auf dem Electron Framework basierende IDE für die tägliche Arbeit mit Kubernetes Clustern und ermöglicht einen besseren Überblick über den Zustand eines Kubernetes-Clusters, dessen Echtzeit-Statistiken, Log-Streams und bietet weitere Möglichkeiten zur Fehlerbehebung und Fehleranalyse, z.B. mittels Pod Logins. Lens erhöht die Produktivität im Umgang mit Kubernetes Clustern und deckt umfangreich den Standard-Umfang üblicher Kubernetes Default-Installationen ab.

Auf Kubernetes Clustern werden jedoch häufig Erweiterungen wie z.B. Longhorn, Fluentd, ElasticSearch, Grafana, etc. für weitere Aufgaben ergänzend installiert. Diese Anwendungsfall-spezifischen Erweiterungen werden normalerweise nicht durch Lens abgedeckt und bieten oft eigene Web-UIs an. Um diese Web-UIs zu nutzen, muss man diese entweder über Ingress-Ressourcen Cluster-extern exponieren (was oft aufgrund von Sicherheitserwägungen nicht ratsam ist), oder mittels Port-Forwarding auf Administrations-Rechner umleiten (was in der täglichen Arbeit mühsam und fehleranfällig ist).

Lens kann jedoch über Extensions erweitert werden. In dieser Arbeit soll untersucht werden, inwieweit sich diese Erweiterungsmöglichkeiten von Lens dazu nutzen lassen,

  • um potenzielle Web-UIs in einem Kubernetes-Cluster (teilautomatisiert) zu erkennen,
  • durch den Nutzer selektierte Web-UIs mittels Port-Forwarding an den lokalen Rechner weiterzuleiten,
  • um diese Web-UIs so in der Benutzeroberfläche von Lens (z.B. mittels iframes) komfortabel zur Anzeige bringen zu können.

Die Erkenntnisse sollen in Form einer funktionsfähigen Lens Extension implementiert, validiert sowie in einer Abschlussarbeit geeignet dokumentiert werden.

Die Installation oben genannter Erweiterungen und deren Web-UIs in Kubernetes ist nicht Gegenstand dieser Aufgabenstellung, nur die Darstellung von im Cluster laufenden Web-UIs im Allgemeinen.

Zur Föderung der Cloud-native Community und im Sinne des Open Source Gedankens sollte die/der Autor:in anstreben, diese Lens Extension als Open Source Projekt im Anschluss der Arbeit der Allgemeinheit zur Verfügung zu stellen und über die Abschlussarbeit hinaus als Open Source Projekt fortzuführen.

Lens Abbildung: Lens UI