Προγραμματισμός

10 διανομές Kubernetes που οδηγούν την επανάσταση των εμπορευματοκιβωτίων

Το Kubernetes έχει γίνει ο έργο για να απευθυνθείτε σε περίπτωση που χρειάζεστε ενορχήστρωση κοντέινερ σε κλίμακα. Το σύστημα ενορχήστρωσης εμπορευματοκιβωτίων ανοιχτού κώδικα από την Google είναι πολύτιμο, υποστηρίζεται και εξελίσσεται γρήγορα.

Το Kubernetes είναι επίσης εκτεταμένο, πολύπλοκο και δύσκολο να δημιουργηθεί και να διαμορφωθεί. Όχι μόνο αυτό, αλλά μεγάλο μέρος της βαριάς ανύψωσης αφέθηκε στον τελικό χρήστη. Η καλύτερη προσέγγιση, επομένως, δεν είναι να αρπάξετε τα κομμάτια και να προσπαθήσετε να το κάνετε μόνοι σας, αλλά να αναζητήσετε μια ολοκληρωμένη λύση δοχείου που περιλαμβάνει το Kubernetes ως υποστηριζόμενο, συντηρημένο στοιχείο.

Εδώ έχω αναφέρει τις 9 πιο γνωστές προσφορές Kubernetes - τι σημαίνει διανομές που περιλαμβάνουν εργαλεία Kubernetes plus container, με την ίδια έννοια ότι διάφοροι προμηθευτές προσφέρουν διανομές του πυρήνα του Linux και της πατρίδας του.

Λάβετε υπόψη ότι αυτή η λίστα δεν περιλαμβάνει αποκλειστικές υπηρεσίες cloud, όπως το Amazon EKS ή το Google Kubernetes Engine, αλλά εστιάζει σε διανομές λογισμικού που μπορούν να εκτελεστούν τοπικά ή ως επιλογή που φιλοξενείται από το cloud.

CoreOS Tectonic / Red Hat CoreOS

Το CoreOS είναι ο πάροχος μιας διανομής Linux που επικεντρώνεται σε κοντέινερ, συμβατή με το Docker, αλλά με τη δική του μορφή εικόνας και τον δικό της χρόνο εκτέλεσης, καθώς και μια διανομή "Kubernetes" εταιρικής ποιότητας. Μαζί σχηματίζουν τα θεμέλια του CoreOS Tectonic stack.

Το λειτουργικό σύστημα CoreOS, το Container Linux, ξεχωρίζει κατά κύριο λόγο με την παράδοσή του ως ένα σύνολο εξαρτημάτων. Με αυτόν τον τρόπο, οι αυτοματοποιημένες ενημερώσεις στο λειτουργικό σύστημα μπορούν να μεταφερθούν στην παραγωγή χωρίς να καταργηθούν οι τρέχουσες εφαρμογές. Το CoreOS προειδοποιεί επίσης για ενημερώσεις "με ένα κλικ" στο Kubernetes. Το CoreOS Tectonic εκτελείται σε Amazon Web Services, Microsoft Azure και bare metal.

Η Red Hat απέκτησε πρόσφατα το CoreOS, με σχέδια να το ενσωματώσει στο Red Hat OpenShift. Το Container Linux θα μετονομάσει το Red Hat CoreOS. Η κίνηση δεν αναμένεται να ολοκληρωθεί έως το 2020, αλλά το Container Linux θα συνεχίσει να υποστηρίζεται μέχρι τότε. Σύμφωνα με την Red Hat, «σχεδόν όλα» τα χαρακτηριστικά του CoreOS Tectonic θα είναι διαθέσιμα μετά τη μετάβαση.

Δείτε την κριτική του CoreOS Container Linux για περισσότερες λεπτομέρειες.

Σχετικό βίντεο: Τι είναι το Kubernetes;

Σε αυτό το βίντεο 90 δευτερολέπτων, μάθετε για το Kubernetes, το σύστημα ανοιχτού κώδικα για την αυτοματοποίηση εφαρμογών σε κοντέινερ, από έναν από τους εφευρέτες της τεχνολογίας, τον Joe Beda, ιδρυτή και CTO στο Heptio.

Κανονική κατανομή των Kubernetes

Η Canonical, κατασκευαστές του Ubuntu Linux, παρέχει τη δική της διανομή Kubernetes. Ένα από τα μεγάλα σημεία πώλησης για την Canonical Distribution of Kubernetes είναι η ευρέως σεβαστή, καλά κατανοητή και κοινά αναπτυσσόμενη διανομή Ubuntu Linux από κάτω. Η Canonical ισχυρίζεται ότι η στοίβα της θα λειτουργήσει σε οποιαδήποτε ανάπτυξη cloud ή on-prem, με υποστήριξη που συμπεριλαμβάνεται τόσο για φόρτο εργασίας που υποστηρίζεται από CPU και GPU. Οι πελάτες που πληρώνουν μπορούν να διαχειριστούν το σύμπλεγμα Kubernetes από απόσταση από μηχανικούς της Canonical.

Η διανομή Kubernetes της Canonical διατίθεται επίσης σε μια μικρογραφία, Microk8s. Οι προγραμματιστές και οι νεοεισερχόμενοι του Kubernetes μπορούν να εγκαταστήσουν Microk8s σε φορητό υπολογιστή ή επιτραπέζιο υπολογιστή και να το χρησιμοποιήσουν για δοκιμές, πειραματισμούς ή ακόμη και χρήση παραγωγής σε υλικό χαμηλού προφίλ.

Τα Canonical και Rancher Labs (βλ. Παρακάτω) συν-παράγουν ένα προϊόν, το Cloud Native Platform, το οποίο συνδυάζει την διανομή Kubernetes της Canonical με την πλατφόρμα διαχείρισης κοντέινερ της Rancher. Η ιδέα είναι να χρησιμοποιήσετε το Kubernetes για να διαχειριστείτε τα κοντέινερ που εκτελούνται σε κάθε σύμπλεγμα και να χρησιμοποιήσετε το Rancher για να διαχειριστείτε πολλά σύμπλεγμα Kubernetes. Το Cloud Native Platform θα είναι διαθέσιμο με το Rancher 2.0, το οποίο είναι προς το παρόν διαθέσιμο σε προεπισκόπηση beta.

Docker Community Edition / Docker Enterprise

Για πολλούς από εμάς, Docker είναι εμπορευματοκιβώτια. Και από το 2014, το Docker έχει το δικό του σύστημα ομαδοποίησης και ενορχήστρωσης, το Docker Swarm, το οποίο μέχρι πρόσφατα στάθηκε ως ανταγωνιστής της Kubernetes. Τότε τον Οκτώβριο του 2017, η Docker ανακοίνωσε ότι θα προσθέσει το Kubernetes - στη μη τροποποιημένη του κατάσταση, βανίλια - ως τυπικό πακέτο με τις εκδόσεις Docker Community Edition και Docker Enterprise 2.0 και νεότερες εκδόσεις.

Το Docker Enterprise 3.0 προσθέτει την υπηρεσία Docker Kubernetes, μια ενσωμάτωση Kubernetes που διατηρεί τις εκδόσεις του Kubernetes συνεπείς μεταξύ των επιτραπέζιων υπολογιστών προγραμματιστών και των εγκαταστάσεων παραγωγής.

Εν ολίγοις, η Docker Inc. έχει διαβάσει τη γραφή στον τοίχο ενορχήστρωσης εμπορευματοκιβωτίων και έχει αναγνωρίσει ότι το Kubernetes είναι πιο κατάλληλο από το Swarm για τη διαχείριση μεγάλων και πολύπλοκων περιβαλλόντων. Ωστόσο, το Docker εξακολουθεί να περιλαμβάνει το αρχικό του σύστημα συμπλέγματος, "swarm mode", για πιο μέτριες εργασίες - για παράδειγμα, μια τοπική εφαρμογή πίσω από το τείχος προστασίας που δεν είναι πιθανό να αναπτυχθεί πολύ ή να διατηρήσει υπάρχουσες συστάδες swarm-mode που δεν χρειάζεται να ανανεωθούν.

Συνδρομή Heptio Kubernetes

Δύο από τους δημιουργούς του Kubernetes, ο Craig McLuckie και ο Joe Beda, ίδρυσαν το Heptio για να προσφέρουν υπηρεσίες και προϊόντα γύρω από το Kubernetes. Η πρώτη σημαντική προσφορά τους είναι η συνδρομή Heptio Kubernetes (HKS), μια ανάπτυξη του Kubernetes με πληρωμένη, 24/7 υποστήριξη που παρέχεται από την Heptio. Η τιμολόγηση ξεκινά από 2.000 $ ανά μήνα.

Το κύριο βήμα με την Heptio είναι Kubernetes εταιρικής ποιότητας χωρίς κλειδαριά προμηθευτή. Οι αναπτύξεις μπορούν να εκτελούνται σε δημόσια σύννεφα ή σε ιδιωτικό υλικό. Όλα τα εργαλεία που προσφέρει η Heptio για τη διαχείριση των διαμορφώσεων Kubernetes είναι ανοιχτού κώδικα και οι διορθώσεις παραδίδονται απευθείας στα υποστηριζόμενα συμπλέγματα.

Η VMware απέκτησε την Heptio το 2018, αλλά η εξαγορά δεν έχει επηρεάσει ακόμη τα σχέδια για το χαρτοφυλάκιο προϊόντων της Heptio.

Κοντένα Φάρος

Χρεώνεται ως "Kubernetes που λειτουργεί απλώς", η Kontena Pharos ακολουθεί περίπου το ίδιο playbook με τις προσφορές του Red Hat Linux. Στο κάτω μέρος είναι μια διανομή Kubernetes με πιστοποίηση CNCF διαθέσιμη υπό την άδεια Apache 2 (σύμφωνα με το Fedora ή το CentOS). Όσοι έχουν τα χρήματα να ξοδέψουν (σύμφωνα με το Red Hat Enterprise Linux) μπορούν να αγοράσουν λειτουργίες επαγγελματικού επιπέδου, συμβουλευτικές υπηρεσίες, υπηρεσίες υποστήριξης και ορισμένες προσφορές σταθερής τιμής, όπως η μετάβαση σε μια υποδομή που βασίζεται στο cloud.

Η βασική διανομή Pharos διατίθεται στάνταρ με βασικές δυνατότητες, όπως αυτόματες ενημερώσεις ασφαλείας και πολλαπλούς χρόνους εκτέλεσης κοντέινερ. Το προϊόν για αμοιβή προσθέτει εταιρικά εργαλεία, όπως το ταμπλό Kontena Lens, το διανεμημένο σύστημα αποθήκευσης Kontena Storage, τη δημιουργία αντιγράφων ασφαλείας, την εξισορρόπηση φορτίου και τη δυνατότητα ανάπτυξης του συμπλέγματος σε περιβάλλον με κενό αέρα.

Η επαγγελματική έκδοση έχει περίοδο αξιολόγησης τριάντα ημερών, με συνδρομές υποστήριξης που ξεκινούν από 375 € το μήνα. Η έκδοση ανοιχτού κώδικα δεν έχει χρονικό όριο και κανένα κόστος αδειοδότησης.

Pivotal Container Service (PKS)

Η Pivotal, γνωστή για το έργο της στο Cloud Foundry, προσφέρει Kubernetes εταιρικής ποιότητας που ονομάζεται Pivotal Container Service (PKS). Το PKS βασίζεται σε πολλά άλλα βασικά έργα για την έμπνευσή του. Για παράδειγμα, χρησιμοποιεί το έργο Kubo, το οποίο χρησιμοποιείται επίσης στο Cloud Foundry του Pivotal, για την εκκίνηση και τη διαχείριση συστάδων Kubernetes.

Η δυνατότητα standout του PKS είναι η στενή ενοποίηση με τη στοίβα εικονικοποίησης VMware. Στην πραγματικότητα το PKS είναι ένα κοινό έργο VMware-Pivotal. Τα κοντέινερ που εκτελούνται σε PKS έχουν πρόσβαση σε υπηρεσίες που είναι συνήθως διαθέσιμες μόνο σε εικονικές μηχανές που εκτελούνται σε vSphere, όπως μόνιμη αποθήκευση στο VMware VSAN. Επιπλέον, η διαχείριση του PKS μπορεί να γίνει μέσω του VMware Cloud Foundation, που χρησιμοποιείται για τη διαχείριση της υποδομής VMware σε δημόσια και ιδιωτικά περιβάλλοντα cloud.

Εν ολίγοις, οποιοδήποτε κατάστημα με επένδυση στο VMware και αυξανόμενο ενδιαφέρον για το Kubernetes, μπορεί να θέλει να εξετάσει το PKS για να αξιοποιήσει στο έπακρο την υπάρχουσα εγκατάσταση του VMware.

Rancher 2.0

Η Rancher Labs έχει ενσωματώσει το Kubernetes στην πλατφόρμα διαχείρισης εμπορευματοκιβωτίων - που ονομάζεται απλά Rancher - με την έκδοση 2.0. Το Rancher 2.0 λειτουργεί σε υψηλότερο επίπεδο από άλλες διανομές Kubernetes, καθισμένος πάνω από τους κεντρικούς υπολογιστές Linux, κοντέινερ Docker και κόμβους Kubernetes, διαχειρίζοντάς τα όλα σε μήκος, ανεξάρτητα από την τοποθεσία ή την υποδομή. Μπορεί ακόμη και να διαχειριστεί συστάδες Kubernetes σε Amazon EKS, Google Kubernetes Engine, Azure Kubernetes Service και άλλα σύννεφα Kubernetes-as-a-service.

Η Rancher διαθέτει επίσης τη δική της διανομή Kubernetes. Το Rancher έχει ως στόχο να αφαιρέσει πολλά από τη διαδικασία δημιουργίας ενός συμπλέγματος Kubernetes και προσαρμογής του Kubernetes για ένα συγκεκριμένο περιβάλλον, χωρίς να επιτρέπει σε αυτές τις προσαρμογές να παρεμποδίζουν την ομαλή αναβάθμιση σε Kubernetes - βασικό μέλημα για μια τόσο γρήγορη- κινούμενο και συνεχώς ενημερωμένο έργο.

Η Rancher προσφέρει επίσης μια ελάχιστη διανομή Kubernetes που ονομάζεται K3s. Βελτιστοποιημένο για εφαρμογές χαμηλού προφίλ, το K3s απαιτεί μόνο 512 MB RAM ανά παρουσία διακομιστή και 200 ​​MB χώρου στο δίσκο. Συμπιέζεται σε αυτό το αποτύπωμα παραλείποντας όλες τις λειτουργίες παλαιού τύπου, άλφα και μη απαραίτητες, καθώς και πολλές λιγότερο συχνά χρησιμοποιούμενες προσθήκες (αν και αυτές μπορούν να προστεθούν ξανά εάν χρειάζεται).

Red Hat OpenShift

Το Red Hat OpenShift, το προϊόν PaaS της Red Hat, χρησιμοποίησε αρχικά Heroku buildpack-like "cartridges" για να συσκευάσει εφαρμογές, οι οποίες στη συνέχεια αναπτύχθηκαν σε δοχεία που ονομάζονται "γρανάζια". Στη συνέχεια, το Docker ήρθε και το OpenShift επεξεργάστηκε ξανά για να κάνει χρήση της νέας εικόνας κοντέινερ και του χρόνου εκτέλεσης. Αναπόφευκτα, η Red Hat υιοθέτησε επίσης το Kubernetes ως τεχνολογία ενορχήστρωσης στο OpenShift.

Το OpenShift δημιουργήθηκε για να παρέχει αφαίρεση και αυτοματισμό για όλα τα στοιχεία ενός PaaS. Αυτή η αφαίρεση και ο αυτοματισμός επεκτείνονται επίσης στο Kubernetes, το οποίο εξακολουθεί να επιβάλλει ένα αρκετά μεγάλο διοικητικό φόρτο, οπότε το OpenShift μπορεί να χρησιμοποιηθεί για την ανακούφιση αυτού στο πλαίσιο της μεγαλύτερης αποστολής ανάπτυξης ενός PaaS.

Όπως προαναφέρθηκε, το CoreOS Tectonic συγχωνεύεται στο Red Hat OpenShift, αν και η συγχώνευση τεχνολογιών δεν αναμένεται να ολοκληρωθεί έως το 2020.

Δείτε την κριτική για το Red Hat OpenShift 3 για περισσότερες λεπτομέρειες.

SUSE Container ως πλατφόρμα υπηρεσιών

Πιο γνωστό για μια διανομή Linux ευρέως δημοφιλής στην Ευρώπη, το SUSE προσφέρει επίσης την πλατφόρμα SUSE CaaS. Εννοιολογικά, η πλατφόρμα SUSE CaaS θυμίζει CoreOS Tectonic, συνδυάζοντας ένα λειτουργικό "μικρο" μεταλλικό στοιχείο που εκτελεί κοντέινερ, Kubernetes για ενορχήστρωση κοντέινερ, ενσωματωμένο μητρώο εικόνων και εργαλεία διαμόρφωσης συμπλέγματος.

Η πλατφόρμα SUSE CaaS 3, που κυκλοφόρησε το 2018, πρόσθεσε τη λειτουργικότητα πολλαπλών κύριων για να κάνει τα συμπλέγματα πιο ανθεκτικά σε ένα σφάλμα κόμβου κύριου και μια λειτουργία συντονισμού πυρήνα για την πραγματοποίηση προσαρμοσμένων προσαρμογών στον περιλαμβανόμενο πυρήνα Linux.

Η πλατφόρμα SUSE CaaS μπορεί να λειτουργήσει τόσο σε δημόσια σύννεφα όσο και σε τοπικά γυμνά μέταλλα, αλλά με την προειδοποίηση ότι «η SUSE δεν υποστηρίζει επί του παρόντος καμία ενσωμάτωση στην υποκείμενη υποδομή cloud.» Αυτό σημαίνει ότι η πλατφόρμα SUSE CaaS δεν έχει σχεδιαστεί για να συμπληρώνει το Amazon EKS ή το Google Kubernetes Engine, αλλά να τα παρακάμπτει, επιτρέποντάς σας να εκτελείτε κοντέινερ σε πολλά σύννεφα και κέντρα δεδομένων.

Telekube

Η Gravitational, κατασκευαστής του διακομιστή Teleport SSH, παράγει το Gravity, μια διανομή Kubernetes «σκληρής παραγωγής» που εκτελείται σε τοπικά ή απομακρυσμένα σμήνη. Το Gravity τοποθετείται ως λύση για μια ιδιωτική πλατφόρμα SaaS ή για τη λειτουργία του Kubernetes ως υπηρεσίας σε πολλές περιοχές ή παρόχους φιλοξενίας.

Οι εφαρμογές στο Gravity πρέπει να είναι έτοιμες να εκτελούνται σε κοντέινερ στο Kubernetes. Πρέπει επίσης να συσκευαστούν σε "Πακέτα" που στη συνέχεια δημοσιεύονται σε συστάδες Kubernetes για διανομή. Το Bundling απαιτεί κάποια επιπλέον δουλειά πάνω από όλες τις άλλες προετοιμασίες που απαιτούνται για την ανάπτυξη εφαρμογών που βασίζονται σε κοντέινερ, αλλά το μανιφέστο Bundle είναι η μόνη συγκεκριμένη προσθήκη Gravity που πρέπει να διατηρήσετε.

Το Gravity σάς επιτρέπει επίσης να κάνετε λήψη ολόκληρου του συμπλέγματος Kubernetes - συμπεριλαμβανομένων όλων των εφαρμογών και των ρυθμίσεων - και να αναπτύξετε το στιγμιότυπο σε οποιοδήποτε άλλο περιβάλλον Kubernetes.