Skip to main content

Energieeffizientes Kubernetes

Die beiden Informatik-Studierenden Jérôme Baur und Julie Engel haben sich in ihrer Bachelor-Arbeit damit beschäftigt, wie der Energieverbrauch von Kubernetes-Clustern verringert werden kann.

Die Bachelorarbeit untersucht den Energieverbrauch von Kubernetes-Clustern mithilfe des Kepler-Projektes und zielt darauf ab, Strategien zur Steigerung der Energieeffizienz zu identifizieren und zu bewerten. Im Zentrum stehen dabei zwei Hauptansätze: der Vergleich von Monolithen und Microservices hinsichtlich ihres Energieverbrauchs und die Evaluation des Einsatzes des Vertical Pod Autoscalers (VPA) zur Optimierung der Ressourcennutzung.

Ausgangslage

Cloud Computing ist in der IT nicht mehr wegzudenken und wird immer häufiger eingesetzt, da Ressourcen wie CPU oder Arbeitsspeicher nach Bedarf bezogen und dynamisch angepasst werden können. Es ist deshalb wichtig, diese Ressourcennutzung effizient zu halten, da überschüssige Ressourcen dynamisch für andere Dienste genutzt werden können.

Eine ineffiziente Ressourcennutzung führt auch zu einem höheren Stromverbrauch. Bei der Stromerzeugung werden direkt oder indirekt Treibhausgase freigesetzt. Daher ist ein effizienter Ressourcenverbrauch beim Cloud Computing auch für den Klimaschutz wichtig.

Zielsetzung

Das Ziel dieser Arbeit war es, die Energieeffizienz beim Einsatz von Kubernetes, einem von Google entwickeltem Systems zur Verwaltung von Container-Anwendungen, zu steigern. Dies wurde erreicht, indem verschiedene Ansätze überprüft wurden, bei denen der Ressourcenverbrauch bei gleichbleibender Performance verringert werden sollte.

Zunächst wurde der Energieverbrauch eines Kubernetes-Clusters möglichst genau ermittelt. Dabei wurde evaluiert, ob die von Kepler gemessenen Werte überhaupt brauchbar für die Korrelierung der verwendeten Ressourcen in einem Cluster waren. Anhand von diesen Resultaten wurden verschiedene Strategien zur Minderung des Ressourcenverbrauchs erarbeitet und umgesetzt, um deren Effektivität zu prüfen.

Ergebnisse

Durch die Analyse der Messdaten von Kepler haben Jérôme Baur und Julie Engel herausgefunden, dass der Energieverbrauch linear zur CPU-Auslastung ist. Viel Spannender war aber die Erkenntnis, dass über 77% dieses Energieverbrauch jeweils auf den Idle-Verbrauch des Nodes zurückzuführen war.

Als Strategie zur Minderung dieses Idle-Werts haben die beiden anschliessend untersucht, ob der Einsatz eines Vertical Pod Autoscalers Abhilfe schaffen würde. Dieser würde dynamisch die angeforderten Ressourcen eines Pods anpassen. Damit war es möglich, Nodes testweise aus dem Cluster zu entfernen und den Idle-Wert zu verbessern.

Kubernetes Logo als Wolke vor einem blauen Himmel

Projektinformationen

Projektteam: Jérôme Baur, Julie Engel

Betreuung: Prof. Dr. Sebastian Graf

Diese Seite teilen: