Nane Kratzke

Thesis:

Lens-Extension zum Management von Kubernetes-Backups

Published: 19 Oct 2022 (latest update: 19 Oct 2022)
Type: Bachelor (B. Sc.)
State: open
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. Lens erhöht so die Produktivität im Umgang mit Kubernetes Clustern und deckt den Standard-Umfang üblicher Kubernetes Default-Installationen ab.

Ergänzende Funktionen, wie bspw. Backup und Restore, müssen jedoch weiterhin durch Kommandozeilen-Tools wie Velero genutzt werden. Da Lens über Extensions erweitert werden kann, soll in dieser Arbeit untersucht werden, inwieweit sich diese Erweiterungsmöglichkeiten von Lens dazu nutzen lassen, um Backups eines Kubernetes-Clusters mittels einer Velero UI zu verwalten. Die Funktionalität soll folgende Features umfassen:

  • Installation und Deinstallation eines Velero-Backends in einem Kubernetes-Cluster (inkl. Verknüpfung mit einer Backup Location)
  • Management (Create, Read/List, Update, Delete) von Backup Locations (S3-basierter Object-Storage)
  • Management (Create, Read/List, Update, Delete) von Backup Schedules (periodische Backups, velero schedule)
  • Management (Create, Read/List, Update, Delete) von Backups (velero backup)
  • Monitoring laufender und Inspektion getätigter Backups (velero describe)
  • Wiederherstellung und Monitoring von Kubernetes Systemzuständen aus einem Backup (velero restore)
  • Restic zum Backup von Volumes soll unterstützt werden

Hierzu ist die Kommandozeilenfunktionalität von Velero zu analysieren. Der Funktionsumfang ist mit dem Aufgabensteller abzustimmen und anschließend in eine geeignete Lens-Extension zu überführen. Für Testzwecke kann während der Arbeit Zugriff auf einen Kubernetes-Cluster und einen Objektstore auf MinIO-Basis gewährt werden.

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

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