
Titel: | Automatisierte und verbesserte Ressourcenzuweisung in einem Kubernetes-Cluster mittels Maschinellen Lernens | Sprache: | Deutsch | Autorenschaft: | Böttcher, Alina | Schlagwörter: | Kubernetes; Operator; Operator-SDK; Golang; verändernder WebHook; Maschinelles Lernen; bestärkendes Lernen; Ressourcenmanagement; Q-Lernen; mutating webhook; machine learning; reinforcement learning; resource management; q-learning | Erscheinungsdatum: | 12-Mär-2025 | Zusammenfassung: | Die Ressourcenanfragen von Pods in einem Kubernetes-Cluster erfolgen meist manuell und beruhen lediglich auf Schätzungen der Nutzer. Da diese ungenau und häufig zu hoch sind, ist die Ressourcenaus-lastung auf den Servern nicht optimal. Ressourcenanfragen von laufenden Pods können nur um den Preis eines Abbruchs mit anschließendem Neustart verändert werden. Da das vermieden werden soll, muss eine Optimierung der Ressourcenanfragen vor dem Start der jeweiligen Pods erfolgen. Diese Masterthesis beschäftigt sich mit der Frage, wie und unter welchen Bedingungen Ressourcenanfragen von Pods in einem Kubernetes-Cluster vor deren Start automatisiert verbessert werden können. Dazu wurde ein Operator mit Hilfe des Operator-SDKs und Golang geschrieben. Dieser überwacht die Pods und speichert den jeweiligen tatsächlichen Ressourcenverbrauch ab. Mit Hilfe des Q-Lernen-Algorithmus aus dem Bereich des Bestärkenden-Lernens werden die tatsächlichen Ressourcenverbräuche gelernt. Anschließend bestimmt der Algorithmus neue Ressourcenanfragen, um damit zukünftige Ressourcenanfragen automatisiert anzupassen und zu verbessern. Die automatisierte Anpassung erfolgt mittels eines verändernden WebHooks, der die manuellen Anfragen durch die vom Algorithmus ermittelten Anfragen ersetzt. Dieses erfolgt, während der Pod durch Kubernetes erstellt und bereitgestellt wird. In dieser Phase führt eine Veränderung der Ressourcenanfrage noch nicht zu einem Abbruch mit anschließendem Neustart. Es kann gezeigt werden, dass eine Anpassung von Ressourcenanfragen unter Nutzung des Operators möglich ist, ohne dass ein Abbruch mit anschließendem Neustart erfolgen muss. Es gibt jedoch einige Kriterien, die die Pods erfüllen müssen, damit diese Anpassung möglich ist. Resource requests from pods in a Kubernetes cluster are mostly manual and based only on user estimates. Since these are inaccurate and often too high, resource utilization on the servers is not optimal. Resource requests from running pods can only be modified at the cost of aborting followed by a restart. Since this is to be avoided, optimization of resource requests must be done before the respective pods are started. This master thesis addresses the question of how and under what conditions resource requests from pods in a Kubernetes cluster can be automatically improved before they are started. For this purpose, an operator was written using the Operator SDK and Golang. This monitors the pods and stores the actual resource consumption in each case. Using the Q-learning algorithm from reinforcement learning, the actual resource consumptions are learned. Then, the algorithm determines new resource requests to use to automatically adjust and improve future resource requests. The automated adaptation is done using a mutating WebHook that replaces the manual requests with the requests determined by the algorithm. This is done while the pod is being created and deployed by Kubernetes. At this stage, a change in the resource request does not yet result in an abort followed by a restart. It can be shown that it is possible to adjust resource requests using the operator without having to abort followed by a restart. However, there are some criteria that the pods must fulfill for an adaptation to be possible. |
URI: | https://hdl.handle.net/20.500.12738/17292 | Einrichtung: | Department Informatik Fakultät Technik und Informatik |
Dokumenttyp: | Abschlussarbeit | Abschlussarbeitentyp: | Masterarbeit | Hauptgutachter*in: | Zukunft, Olaf | Gutachter*in der Arbeit: | Sarstedt, Stefan |
Enthalten in den Sammlungen: | Theses |
Dateien zu dieser Ressource:
Datei | Beschreibung | Größe | Format | |
---|---|---|---|---|
MA_Automatisierte und verbesserte Ressourcenzuweisung in einem Kubernetes-Cluster mittels Maschinellen Lernens_geschwärzt.pdf | 1.74 MB | Adobe PDF | Öffnen/Anzeigen |
Feedback zu diesem Datensatz
Export
Alle Ressourcen in diesem Repository sind urheberrechtlich geschützt.