Ιδρυματικό Αποθετήριο [SANDBOX]
Πολυτεχνείο Κρήτης
EN  |  EL

Αναζήτηση

Πλοήγηση

Ο Χώρος μου

Ασαφείς στρατηγικές τοποθέτησης υπηρεσιών σε περιβάλλον Kubernetes

Skevakis Vasileios

Απλή Εγγραφή


URIhttp://purl.tuc.gr/dl/dias/8052E48F-67F0-4602-AED0-74F947712C97-
Αναγνωριστικόhttps://doi.org/10.26233/heallink.tuc.92796-
Γλώσσαen-
Μέγεθος58 pagesen
Μέγεθος2 megabytesen
ΤίτλοςFuzzy service placement strategies in Kubernetesen
Τίτλος Ασαφείς στρατηγικές τοποθέτησης υπηρεσιών σε περιβάλλον Kubernetes el
ΔημιουργόςSkevakis Vasileiosen
ΔημιουργόςΣκευακης Βασιλειοςel
Συντελεστής [Επιβλέπων Καθηγητής]Petrakis Evripidisen
Συντελεστής [Επιβλέπων Καθηγητής]Πετρακης Ευριπιδηςel
Συντελεστής [Μέλος Εξεταστικής Επιτροπής]Deligiannakis Antoniosen
Συντελεστής [Μέλος Εξεταστικής Επιτροπής]Δεληγιαννακης Αντωνιοςel
Συντελεστής [Μέλος Εξεταστικής Επιτροπής]Samoladas Vasilisen
Συντελεστής [Μέλος Εξεταστικής Επιτροπής]Σαμολαδας Βασιληςel
ΕκδότηςΠολυτεχνείο Κρήτηςel
ΕκδότηςTechnical University of Creteen
Ακαδημαϊκή ΜονάδαTechnical University of Crete::School of Electrical and Computer Engineeringen
Ακαδημαϊκή ΜονάδαΠολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστώνel
ΠερίληψηThe continuous rise of microservices-based architectures in application development provided the need for tools that orchestrate containerized applications deployed in cloud infrastructures, such as Kubernetes. A Kubernetes Cluster hosts a finite number of Nodes (VMs), and the application's services are packed in Pods and placed in the Kubernetes Nodes. The default Kubernetes Service Placement is static and does not adapt to workload changes, so the default placement solutions are sub-optimal. Pods must be placed in their respective Nodes in a way that minimizes Node-to-Node (egress) traffic. That way, the infrastructure cost is optimized, and the response time of the requests is minimized since egress traffic is slower than ingress. Modern application workloads require some high-utilized services to run in more than one instance. In this work, the service placement problem is handled as a graph clustering one, aiming to optimize the application by both cost and response time. The graph clustering needs to be fuzzy, to allow a graph's node (Kubernetes Pod) to belong in more than one partition (Nodes). Two applications were deployed in the Kubernetes infrastructure of the Google Cloud Platform to support our fuzzy service placement solution in real use cases (an e-commerce eShop and an IoT architecture). The experimental results demonstrate that our fuzzy placement solution can significantly reduce both the total requested traffic between Nodes and the response time of the applications' requests compared to the placement using the default Kubernetes Scheduler's method. At the same time, our solution can maintain the monetary cost savings of previous related work on cost-optimization in Kubernetes.en
ΠερίληψηΗ διαρκώς αυξανόμενη χρήση αρχιτεκτονικών μικρο-υπηρεσιών για την ανάπτυξη σύγχρονων εφαρμογών έχει οδηγήσει στην ανάγκη υλοποίησης εργαλείων για τον συντονισμό και τη διαχείριση μικρο-υπηρεσιών, όπως το Kubernetes. Ένα σύμπλεγμα Kubernetes (cluster) μπορεί να φιλοξενήσει έναν πεπερασμένο αριθμό από κόμβους (Εικονικά Μηχανήματα). Οι μικρο-υπηρεσίες της εφαρμογής ομαδοποιούνται σε "pods", τα οποία τοποθετούνται στους κόμβους (nodes) του συμπλέγματος. Η προκαθορισμένη στρατηγική τοποθέτησης στο Kubernetes είναι στατική και δεν προσαρμόζεται στον φόρτο εργασίας της εφαρμογής, οπότε είναι υποβέλτιστη. Τα "pods" πρέπει να τοποθετηθούν στους κόμβους του συμπλέγματος με τέτοιο τρόπο, ώστε να ελαχιστοποιείται η επικοινωνία μεταξύ των κόμβων. Με αυτόν τον τρόπο το κόστος της υποδομής βελτιώνεται και ο χρόνος απόκρισης μειώνεται, καθώς η επικοινωνία μεταξύ υπηρεσιών τοποθετημένων σε διαφορετικούς κόμβους (egress traffic) είναι πιο αργή σε σχέση με την επικοινωνία υπηρεσιών στον ίδιο κόμβο (ingress traffic). Οι σύγχρονες εφαρμογές περιέχουν αντίγραφα (replicas) μικρο-υπηρεσίων, ώστε ο φόρτος εργασίας μιας μικρο-υπηρεσίας να μοιράζεται μεταξύ αντιγράφων της. Στην παρούσα εργασία το πρόβλημα της τοποθέτησης των υπηρεσιών εξετάζεται ως ένα πρόβλημα διχοτόμησης ενός γράφου, με σκοπό τη βελτιστοποίηση του κόστους της υποδομής και του χρόνου απόκρισης των εφαρμογών. Η διχοτόμηση του γράφου πρέπει να είναι ασαφής (fuzzy), ώστε να επιτρέπει σε κόμβους του γράφου (μικρο-υπηρεσίες) να ανήκουν σε ένα ή περισσότερα διαμερίσματα (κόμβους του συμπλέγματος). Η απόδοση της ασαφούς στρατηγικής ελέγχθηκε σε πραγματικά σενάρια χρησιμοποιώντας δύο εφαρμογές (ένα ηλεκτρονικό κατάστημα και μια IoT εφαρμογή), οι οποίες υλοποιήθηκαν στο περιβάλλον Kubernetes της υποδομής νέφους της Google (Google Cloud Platform). Όπως αποδείχθηκε από τα αποτελέσματα των πειραμάτων, η προτεινόμενη ασαφής στρατηγική μπορεί να μειώσει σημαντικά την επικοινωνία μεταξύ των κόμβων και τον χρόνο απόκρισης της εφαρμογής, ενώ μπορεί να επιτύχει την εξοικονόμηση κόστους προηγούμενων συναφών εργασιών. el
ΤύποςΔιπλωματική Εργασίαel
ΤύποςDiploma Worken
Άδεια Χρήσηςhttp://creativecommons.org/licenses/by/4.0/en
Ημερομηνία2022-07-18-
Ημερομηνία Δημοσίευσης2022-
Θεματική ΚατηγορίαKubernetesen
Θεματική ΚατηγορίαMicroservicesen
Θεματική ΚατηγορίαService placementen
Θεματική ΚατηγορίαFuzzy clusteringen
Βιβλιογραφική ΑναφοράVasileios Skevakis, "Fuzzy service placement strategies in Kubernetes", Diploma Work, School of Electrical and Computer Engineering, Technical University of Crete, Chania, Greece, 2022en
Βιβλιογραφική ΑναφοράΒασιλείος Σκευάκης, " Ασαφείς στρατηγικές τοποθέτησης υπηρεσιών σε περιβάλλον Kubernetes ", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2022el

Διαθέσιμα αρχεία

Υπηρεσίες

Στατιστικά