Συντάχθηκε 29-04-2026 09:48
Ενημερώθηκε:
29-04-2026 09:50
Τόπος:
Σύνδεσμος τηλεδιάσκεψης
Έναρξη: 12/05/2026 10:00
Λήξη: 12/05/2026 11:00
ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ
Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πρόγραμμα Προπτυχιακών Σπουδών
ΠΑΡΟΥΣΙΑΣΗ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ
Ανδρέα Λοπάτα
με θέμα
Αλγόριθμοι Ομαδοποίησης για την Βέλτιστη Τοποθέτηση Μικροϋπηρεσιών στο Kubernetes
Clustering Algorithms for Optimal Microservices Scheduling in Kubernetes
Εξεταστική Επιτροπή
Καθηγητής Ευριπίδης Πετράκης (επιβλέπων)
Καθηγητής Γεώργιος Χαλκιαδάκης
Αναπληρωτής Καθηγητής Βασίλειος Σαμολαδάς
Περίληψη
Η ευρεία υιοθέτηση της αρχιτεκτονικής μικροϋπηρεσιών στις σύγχρονες εφαρμογές έχει οδηγήσει σε σημαντικές προκλήσεις όσον αφορά τη διαχείριση και την ενορχήστρωση αυτών των υπηρεσιών. Το Kubernetes, ένα εργαλείο για την ενορχήστρωση containerized εφαρμογών, έχει καταστεί μια δημοφιλής επιλογή για τη διαχείριση μικροϋπηρεσιών. Ένα Kubernetes cluster αποτελείται από Nodes (VMs) που μπορούν να περιέχουν ένα ή περισσότερα pods. Κάθε pod μπορεί να περιέχει μία ή περισσότερες μικροϋπηρεσίες.
Για την τοποθέτηση αυτών των pods στα Nodes, το Kubernetes χρησιμοποιεί έναν default scheduler που λαμβάνει αποφάσεις με βάση τα αιτήματα και τα όρια πόρων. Αυτή η default στρατηγική τοποθέτησης είναι στατική και δεν λαμβάνει υπόψη τις αλλαγές στο workload, γεγονός που μπορεί να οδηγήσει σε μη βέλτιστες τοποθετήσεις. Πολλές στρατηγικές τοποθέτησης έχουν προταθεί για τη βελτιστοποίηση της τοποθέτησης των pods στο cluster, ωστόσο οι περισσότερες είναι στατικές και δεν προσαρμόζονται στις μεταβολές του workload, οδηγώντας σε λύσεις που ενδέχεται να μην είναι βέλτιστες.
Στην παρούσα εργασία προτείνουμε μια δυναμική στρατηγική τοποθέτησης που χρησιμοποιεί έναν incremental density-based clustering algorithm, προκειμένου να ενημερώνει δυναμικά την τοποθέτηση των μικροϋπηρεσιών σε απόκριση στις αλλαγές του workload.
Για την αξιολόγηση της απόδοσης της προτεινόμενης adaptive στρατηγικής, τη συγκρίνουμε με μια στατική στρατηγική τοποθέτησης που χρησιμοποιεί τον ίδιο density-based clustering algorithm, αλλά χωρίς προσαρμογή στις μεταβολές του workload. Χρησιμοποιούνται δύο benchmark εφαρμογές, το Google Online Boutique (eShop) και το iXen, οι οποίες αναπτύσσονται σε ένα πραγματικό Kubernetes cluster στο GCP.
Τα πειραματικά αποτελέσματα δείχνουν ότι η δυναμική προσέγγιση μειώνει σημαντικά το εξερχόμενο traffic και βελτιώνει τον χρόνο απόκρισης σε σύγκριση με τη στατική προσέγγιση. Επιπλέον, η δυναμική μέθοδος τοποθέτησης επιτυγχάνει χαμηλότερο χρόνο εκτέλεσης και μειωμένη χρήση CPU, οδηγώντας σε μικρότερο υπολογιστικό κόστος σε σχέση με την επανεκτέλεση της στατικής μεθόδου, καθιστώντας την κατάλληλη για real-time δυναμική τοποθέτηση μικροϋπηρεσιών.
Abstract
The widespread adoption of microservices-based architecture in modern applications has led to significant challenges in managing and orchestrating these services effectively. Kubernetes, a tool for orchestrating containerized applications, has become a popular choice for managing microservices. A Kubernetes cluster consists of Nodes(VMs) that can host one or more pods. Each pod can contain one or more microservices.
To allocate these pods on the Nodes, Kubernetes uses a default scheduler that makes placement decisions based on resource requests and limits. This default placement strategy is a static one and does not take into account the workload changes so it can lead to suboptimal placements. Many placement strategies have been proposed to optimize the placement of the pods in the cluster, but most of them are static and do not adapt to changing workloads leading to placements that may not be optimal.
In our work we propose an adaptive placement strategy that uses an incremental density-based clustering algorithm to update the placement of microservices in response to workload changes.
To evaluate the performance of our adaptive placement strategy, we compare it with a static placement strategy that uses the same clustering density-based algorithm but does not adapt to workload changes. Two benchmarks applications are used, Google’s Online Boutique eShop and iXen, which are deployed on a real Kubernetes cluster in GCP. Experimental results demonstrate that the adaptive clustering approach significantly reduces egress traffic and improves response time compared to the static approach. Furthermore, the adaptive placement method achieves lower execution time and CPU utilization leading to lower overhead cost, compared to rerunning the static placement method, making it suitable for real-time adaptive microservice placement.