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

Αναζήτηση

Πλοήγηση

Ο Χώρος μου

Ασφαλής διαχείριση εικονοκιβωτίων στο σύστημα Kubernetes

Christodoulopoulos Christos

Πλήρης Εγγραφή


URI: http://purl.tuc.gr/dl/dias/FFCEEC40-B40D-4892-93E4-4A2F83C4C451
Έτος 2017
Τύπος Διπλωματική Εργασία
Άδεια Χρήσης
Λεπτομέρειες
Βιβλιογραφική Αναφορά Χρήστος Χριστοδουλόπουλος, "Ασφαλής διαχείριση εικονοκιβωτίων στο σύστημα Kubernetes", Διπλωματική Εργασία, Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών, Πολυτεχνείο Κρήτης, Χανιά, Ελλάς, 2017 https://doi.org/10.26233/heallink.tuc.70712
Εμφανίζεται στις Συλλογές

Περίληψη

Το Kubernetes είναι ένα εργαλείο το οποίο διευκολύνει τη διαχείριση πολλαπλών εφαρμογών σε εικονοποιημένα (σε επίπεδο λειτουργικού συστήματος) περιβάλλοντα χρησιμοποιώντας Containers. Είναι ικανό να διαχειριστεί πολλαπλές εφαρμογές και χρήστες ταυτόχρονα, διανέμοντας υπολογιστικούς πόρους στις εφαρμογές μέσω ενός μηχανισμού χρονοδρομολόγησης. Ο μηχανισμός αυτός είναι επίσης υπεύθυνος για την εκ νέου αναδιανομή των υπολογιστικών πόρων ανά εφαρμογή με βάση τις πραγματικές ανάγκες κατά το χρόνο εκτέλεσής τους. Ωστόσο, η κατανομή των πόρων σε ένα τυπικό περιβάλλον Kubernetes είναι στατική (δηλαδή είναι εκ των προτέρων προκαθορισμένο το μέγιστο ποσό των υπολογιστικών πόρων που μπορεί να χρησιμοποιήσει η κάθε εφαρμογή), πράγμα που σημαίνει ότι εάν η εφαρμογή απαιτεί περισσότερους πόρους, τότε το σύστημα δεν είναι σε θέση να το διαχειριστεί. Παρόλο που είναι γνωστό ότι υπάρχουν λύσεις στο πρόβλημα της αυτόματης επέκτασης των υπολογιστικών πόρων σε συστήματα Kubernetes και η αυτόματη κλιμάκωση υποστηρίζεται από παρόχους υπηρεσιών νέφους όπως Amazon και Google, οι λύσεις αυτές είναι πλήρως αποκλειστικές και όχι πάντα γενικές (δηλ. δεν ισχύουν για όλες τις διανομές του Kubernetes και δε μπορούν να εφαρμοστούν σε οποιοδήποτε περιβάλλον νέφους). Αυτό είναι ακριβώς το πρόβλημα που αντιμετωπίζει αυτή η εργασία. Προτείνουμε το σύστημα Commodore, ένα μηχανισμό που είναι ανεξάρτητος από την πλατφόρμα (δηλαδή μπορεί να λειτουργήσει με οποιαδήποτε διανομή Kubernetes, συμπεριλαμβανομένων και αυτών που δεν παρέχονται από υπηρεσίες νέφους). Το Commodore είναι ικανό να κατανείμει (ή να αποδεσμεύει) πόρους σε εφαρμογές με βάση τις πραγματικές απαιτήσεις τους. Το Commodore υλοποιήθηκε χρησιμοποιώντας την υπηρεσία νέφους FIWARE, η οποία βασίζεται στο OpenStack. Στο περιβάλλον αυτό, οι εφαρμογές εκτελούνται σε εικονικές μηχανές, οι οποίες ενεργούν ως κόμβοι του συστήματος. Με τον τρόπο αυτό, η εφαρμογή εκμεταλλεύεται τις δυνατότητες εικονικοποίησης του περιβάλλοντος νέφους (δηλ. επιτρέπει την παραμετροποίηση πόρων, συμπεριλαμβανομένων του δικτύου, της CPU και της μνήμης, που οδηγούν στην καλύτερη αξιοποίηση των φυσικών πόρων των μηχανημάτων, εξασφαλίζοντας παράλληλα ασφάλεια μέσω της απομόνωσης που προσφέρει το εικονικό αυτό περιβάλλον). Εκτελέσαμε διάφορα πειράματα με βάση ένα προσομοιωμένο (αλλά ρεαλιστικό) σενάριο χρήσης. Τα αποτελέσματα απέδειξαν ότι το Commodore ανταποκρίνεται στις αυξανόμενες (ή μειούμενες) απαιτήσεις πόρων της εφαρμογής που οδηγούν σε σημαντικά ταχύτερους χρόνους απόκρισης σε σύγκριση με μια μη κλιμακωτή υλοποίηση όπου όλος ο υπολογιστικός φόρτος αντιμετωπίζεται από τους στατικά προ-δεσμευμένους πόρους.

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

Υπηρεσίες

Στατιστικά