Skip to main content
FHEDEEN
Request information material

Bachelor Flyer Master Flyer

Contact

Sekretariat Angewandte Informatik
Tel.: 0361 / 6700-5510 sekretariat-ai@fh-erfurt.de

Besucheranschrift:

Fachhochschule Erfurt
Fakultät Gebäudetechnik und Informatik
Fachrichtung Angewandte Informatik
Altonaer Straße 25
99085 Erfurt

Recoon: GitOps ohne Kubernetes - Implementierung einer Container-API mit integriertem pull-basiertem GitOps-Controller

Architekturübersicht zur entwickelten Software

Das Ziel der vorliegenden Arbeit ist es, GitOps für die Installation von containerisierten Anwendungen auf einem Hostsystem außerhalb des Kubernetes-Ökosystems nutzbar zu machen. Dies wird durch die Implementierung einer Container-API mit integriertem pullbasiertem GitOps-Controller für Systeme mit einem Knoten (Projektname „Recoon“) erreicht. Darüber hinaus wird auch erörtert, ob und warum der Bedarf an solch einem System überhaupt existiert.

Für die Beantwortung der Fragestellung, wurden die Vor- und Nachteile von GitOps erarbeitet sowie ein Vergleich mit klassischen CI/CD-Pipelines gezogen. Des Weiteren wurden Gründe, die gegen den Einsatz von Kubernetes sprechen, gesammelt und eingeordnet. Außerdem wurden die Ergebnisse geeigneter Marktumfragen zusammengefasst und mit den Erörterungen korreliert. Für die Implementierung wurde eine umfassende Anforderungsanalyse durchgeführt und anschließend eine geeignete Softwarearchitektur konzeptioniert und umgesetzt.

Die Erörterungen zeigten, dass zum einen vor allem Komplexitäts- und Sicherheitsaspekte beziehungsweise fehlende Expertise gegen den Einsatz von Kubernetes sprechen und zum anderen GitOps gegenüber klassischen Continuous-Deployments in entscheidenden Punkten überlegen ist. Allerdings gab es bislang keine Softwarelösung, die den daraus folgenden, wünschenswerten Einsatz von GitOps ohne Kubernetes vollständig ermöglichte. Dieses Problem wurde durch die Implementierung von Recoon gelöst.

Dies zeigt, dass der Bedarf an einer derartigen Softwarelösung existiert und eine Implementierung möglich ist. Daher ist es empfehlenswert, den Einsatz von GitOps außerhalb von Kubernetes als Anwender grundsätzlich zu erwägen und Recoon gegebenenfalls bis hin zur Marktreife weiterzuentwickeln.

The goal of this thesis is to make GitOps usable for the installation of containerised applications on a host system outside the Kubernetes ecosystem. This is achieved by implementing a container API with an integrated pull-based GitOps controller (project name "Recoon"). Furthermore, it is also discussed whether and why the need for such a system exists at all.

To answer the question, the advantages and disadvantages of GitOps were worked out and a comparison with classic CI/CD pipelines was drawn. Moreover, reasons that speak against the use of Kubernetes were collected and classified. In addition, the results of suitable market surveys were summarised and correlated with the discussion. For the implementation, a comprehensive requirements analysis was carried out and afterwards a suitable software architecture was conceptualised and implemented.

The discussion showed that, on the one hand, complexity and security aspects or a lack of expertise speak against the use of Kubernetes and, on the other hand, GitOps is superior to classic continuous deployments in crucial points. However, until now there was no software solution that fully enabled the resulting, desirable use of GitOps without Kubernetes. This problem was solved by implementing Recoon.

This shows that the need for such a software solution exists and that implementing one is possible. It is therefore advisable to consider the use of GitOps outside of Kubernetes as an end user in principle and, if necessary, to develop Recoon further until it is ready for production use cases.

Back