OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1

«Ποια είναι η διαφορά μεταξύ του Kubernetes και του OpenShift;» - αυτή η ερώτηση προκύπτει με αξιοζήλευτη κανονικότητα. Αν και στην πραγματικότητα είναι σαν να ρωτάμε ποια είναι η διαφορά μεταξύ ενός αυτοκινήτου και μιας μηχανής. Αν συνεχίσουμε την αναλογία, ένα αυτοκίνητο είναι ένα τελικό προϊόν, μπορείτε να το χρησιμοποιήσετε αμέσως, κυριολεκτικά: μπείτε και φύγετε. Από την άλλη πλευρά, για να σας πάει κάπου η μηχανή, πρέπει πρώτα να συμπληρωθεί με πολλά άλλα πράγματα για να καταλήξετε στο ίδιο αυτοκίνητο.

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1

Επομένως, το Kubernetes είναι ο κινητήρας γύρω από τον οποίο συναρμολογείται το αυτοκίνητο (πλατφόρμα) της μάρκας OpenShift, το οποίο σας μεταφέρει στον στόχο.

Σε αυτό το άρθρο θα θέλαμε να σας υπενθυμίσουμε και να αναλύσουμε λεπτομερέστερα τα ακόλουθα βασικά σημεία:

  • Το Kubernetes είναι η καρδιά της πλατφόρμας OpenShift και είναι 100% πιστοποιημένο Kubernetes, πλήρως ανοιχτού κώδικα και χωρίς κανένα ιδιόκτητο χαρακτηριστικό. Εν ολίγοις:
    • Το API για το σύμπλεγμα OpenShift είναι 100% Kubernetes.
    • Εάν το κοντέινερ εκτελείται σε οποιοδήποτε άλλο σύστημα Kubernetes, θα εκτελείται στο OpenShift χωρίς καμία αλλαγή. Δεν απαιτούνται αλλαγές στις εφαρμογές.
  • Το OpenShift όχι μόνο προσθέτει χρήσιμα χαρακτηριστικά και δυνατότητες στο Kubernetes. Όπως ένα αυτοκίνητο, το OpenShift είναι έτοιμο για χρήση αμέσως μόλις το βγάλετε από τη συσκευασία, μπορεί να τεθεί αμέσως σε παραγωγή και, όπως θα δείξουμε παρακάτω, κάνει τη ζωή πολύ πιο εύκολη για έναν προγραμματιστή. Γι' αυτό το OpenShift είναι διπρόσωπο. Είναι μια επιτυχημένη και ευρέως γνωστή πλατφόρμα PaaS εταιρικής κλάσης από την οπτική γωνία ενός προγραμματιστή. Και είναι επίσης μια εξαιρετικά αξιόπιστη λύση Container-as-a-Service από βιομηχανική άποψη.

Το OpenShift είναι Kubernetes με πιστοποίηση 100% CNCF

Το OpenShift βασίζεται σε Πιστοποιημένο από KubernetesΓι' αυτό, μετά από κατάλληλη εκπαίδευση, οι χρήστες θαυμάζουν τη δύναμη του kubectl. Και όσοι έχουν μετεγκατασταθεί στο OpenShift από το Kubernetes Cluster λένε συχνά πόσο πολύ τους αρέσει που μετά την ανακατεύθυνση του kubeconfig στο OpenShift cluster, όλα τα υπάρχοντα σενάρια λειτουργούν άψογα.

Πιθανότατα έχετε ακούσει για το βοηθητικό πρόγραμμα γραμμής εντολών του OpenShift που ονομάζεται OC. Είναι πλήρως συμβατό με εντολές με το kubectl, ενώ παράλληλα προσφέρει μερικούς χρήσιμους βοηθούς που μπορούν να φανούν χρήσιμοι για μια ποικιλία εργασιών. Αλλά πρώτα, λίγες περισσότερες λεπτομέρειες σχετικά με τη συμβατότητα του OC και του kubectl:

εντολές kubectl
Ομάδες OC

kubectl πάρει λοβό
oc get pods

Το kubectl λαμβάνει χώρους ονομάτων
oc get namespaces

kubectl create -f deployment.yaml
oc create -f deployment.yaml

Δείτε πώς φαίνεται το αποτέλεσμα από τη χρήση του kubectl στο OpenShift API:

• kubectl get pods – όπως αναμενόταν, επιστρέφει pods.

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1

• kubectl get namespaces – επιστρέφει namespaces όπως αναμενόταν.

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
Η εντολή kubectl create -f mydeployment.yaml δημιουργεί πόρους kubernetes όπως ακριβώς σε οποιαδήποτε άλλη πλατφόρμα Kubernetes, όπως φαίνεται στο παρακάτω βίντεο:


Με άλλα λόγια, όλα τα API του Kubernetes είναι πλήρως προσβάσιμα στο OpenShift με 100% συμβατότητα. Γι' αυτό Το OpenShift αναγνωρίστηκε ως πιστοποιημένη πλατφόρμα Kubernetes από το Cloud Native Computing Foundation (CNCF). 

Το OpenShift φέρνει χρήσιμες λειτουργίες στο Kubernetes

Τα API του Kubernetes είναι 100% προσβάσιμα στο OpenShift, αλλά το εγγενές βοηθητικό πρόγραμμα Kubernetes kubectl σαφώς υστερεί σε λειτουργικότητα και χρηστικότητα. Γι' αυτό το λόγο η Red Hat έχει συμπληρώσει το Kubernetes με χρήσιμες λειτουργίες και εργαλεία γραμμής εντολών, όπως το OC (συντομογραφία του OpenShift client) και το ODO (OpenShift DO, ένα βοηθητικό πρόγραμμα που προορίζεται για προγραμματιστές).

1. Βοηθητικό πρόγραμμα OC – μια πιο ισχυρή και βολική επιλογή για το Kubectl

Για παράδειγμα, σε αντίθεση με το kubectl, σας επιτρέπει να δημιουργείτε νέους χώρους ονομάτων και να αλλάζετε εύκολα περιβάλλοντα, και προσφέρει μια σειρά από χρήσιμες εντολές για προγραμματιστές, όπως για τη δημιουργία εικόνων κοντέινερ και την ανάπτυξη εφαρμογών απευθείας από τον πηγαίο κώδικα ή τα δυαδικά αρχεία (Source-to-image, s2i).

Ας δούμε παραδείγματα για το πώς οι ενσωματωμένοι βοηθοί και η εκτεταμένη λειτουργικότητα του βοηθητικού προγράμματος OC βοηθούν στην απλοποίηση της καθημερινής εργασίας.

Το πρώτο παράδειγμα είναι η διαχείριση ονομάτων χώρου. Κάθε cluster Kubernetes έχει πάντα αρκετούς ονοματοχώρους. Συνήθως χρησιμοποιούνται για τη δημιουργία περιβαλλόντων ανάπτυξης και παραγωγής, αλλά μπορούν επίσης να χρησιμοποιηθούν, για παράδειγμα, για να παρέχουν σε κάθε προγραμματιστή ένα προσωπικό "sandbox". Στην πράξη, αυτό οδηγεί στο γεγονός ότι ο προγραμματιστής πρέπει να εναλλάσσεται συχνά μεταξύ ονομάτων χώρου, καθώς το kubectl λειτουργεί στο πλαίσιο του τρέχοντος ονοματοχώρου. Επομένως, στην περίπτωση του kubectl, οι χρήστες χρησιμοποιούν ενεργά βοηθητικά σενάρια για αυτό. Αλλά όταν χρησιμοποιείται το OC, για να μεταβείτε στον επιθυμητό χώρο ονομάτων, αρκεί να πείτε "oc project namespace".

Δεν θυμάστε το όνομα του χώρου ονομάτων που χρειάζεστε; Κανένα πρόβλημα, απλώς πληκτρολογήστε "oc get projects" για να εμφανιστεί η πλήρης λίστα. Είστε επιφυλακτικοί σχετικά με το πώς θα λειτουργήσει αυτό εάν έχετε πρόσβαση μόνο σε ένα περιορισμένο υποσύνολο χώρων ονομάτων στο σύμπλεγμα; Λοιπόν, επειδή το kubectl το κάνει σωστά μόνο εάν το RBAC σας επιτρέπει να βλέπετε όλους τους χώρους ονομάτων στο σύμπλεγμα, και σε μεγάλα συμπλέγματα, τέτοια δικαιώματα δεν εκχωρούνται σε όλους. Λοιπόν, ορίστε η απάντηση: για το OC, αυτό δεν είναι καθόλου πρόβλημα και θα εμφανίσει εύκολα την πλήρη λίστα σε μια τέτοια περίπτωση. Από τέτοια μικρά πράγματα διαμορφώνεται η εταιρική εστίαση του Openshift και η καλή επεκτασιμότητα αυτής της πλατφόρμας όσον αφορά τους χρήστες και τις εφαρμογές.

2. ODO – μια βελτιωμένη έκδοση του kubectl για προγραμματιστές

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

Ας ρίξουμε μια ματιά στο πώς τα OC και ODO κάνουν την εργασία με containers και Kubernetes ευκολότερη.

Ας συγκρίνουμε μερικές ροές εργασίας όταν αυτές κατασκευάζονται πάνω στο kubectl και όταν χρησιμοποιούνται OC ή ODO.

• Ανάπτυξη κώδικα στο OpenShift για όσους δεν γνωρίζουν YAML:

Kubernetes / kubectl
$> git clone github.com/sclorg/nodejs-ex.git
1- Δημιουργήστε ένα Dockerfile που δημιουργεί την εικόνα από κώδικα
-----
ΑΠΟ τον κόμβο
WORKDIR/usr/src/app
COPY πακέτο*.json ./
ΑΝΤΙΓΡΑΦΟ index.js ./
ΑΝΤΙΓΡΑΦΗ ./εφαρμογή ./εφαρμογή
Εκτέλεση εγκατάστασης npm
ΕΚΘΕΣΗ 3000
CMD [“npm”, “έναρξη”]
-----
2- Χτίζουμε την εικόνα
$> κατασκευή podman …
3- Συνδεθείτε στο μητρώο
Σύνδεση podman …
4- Τοποθετήστε την εικόνα στο μητρώο
podman push
5- Δημιουργήστε αρχεία yaml για την ανάπτυξη της εφαρμογής (deployment.yaml, service.yaml, ingress.yaml) – αυτό είναι το απολύτως ελάχιστο
6- Αναπτύξτε τα αρχεία manifest:
Το Kubectl εφαρμόζει -f.

ΆνοιγμαShift/oc
$> oc νέα εφαρμογή github.com/sclorg/nodejs-ex.git – όνομα_της_εφαρμογής_μας

OpenShift / odo
$> git clone github.com/sclorg/nodejs-ex.git
$> odo δημιουργία στοιχείου nodejs myapp
$> ώθηση οσμής

• Αλλαγή περιβάλλοντος: αλλαγή του χώρου ονομάτων εργασίας ή του συμπλέγματος εργασίας.

Kubernetes / kubectl
1- Δημιουργήστε ένα περιβάλλον στο kubeconfig για το έργο "myproject"
2- kubectl σύνολο-πλαισίων …

ΆνοιγμαShift/oc
έργο oc «το έργο μου»

Έλεγχος ποιότητας: «Υπάρχει ένα ενδιαφέρον χαρακτηριστικό εδώ, είναι ακόμα σε alpha έκδοση. Ίσως θα έπρεπε να το εισαγάγουμε στην παραγωγή;»

Φανταστείτε να κάθεστε σε ένα αγωνιστικό αυτοκίνητο και να σας λένε: «Έχουμε εγκαταστήσει έναν νέο τύπο φρένων εδώ και, ειλικρινά, δεν είναι ακόμα αρκετά αξιόπιστα... Αλλά μην ανησυχείτε, θα τα βελτιώνουμε ενεργά καθώς προχωρά το πρωτάθλημα». Πώς σας φαίνεται αυτή η προοπτική; Εμείς στην Red Hat δεν μας αρέσει και πολύ. 🙂

Γι' αυτό προσπαθούμε να αναβάλλουμε τις εκδόσεις alpha μέχρι να είναι αρκετά ώριμες ώστε να έχουμε κάνει κάποιες διεξοδικές δοκιμές μάχης και να κρίνουμε ότι είναι ασφαλείς για χρήση. Συνήθως περνάμε πρώτα από ένα στάδιο Προεπισκόπησης Προγραμματιστών και μετά από ένα Τεχνολογική Προεπισκόπηση και μόνο τότε δημοσιοποιείται Γενική Διαθεσιμότητα (GA), η οποία είναι ήδη αρκετά σταθερή ώστε να είναι κατάλληλη για παραγωγή.

Γιατί συμβαίνει αυτό; Επειδή, όπως συμβαίνει με κάθε άλλη ανάπτυξη λογισμικού, δεν φτάνουν όλες οι αρχικές ιδέες στο Kubernetes στην τελική έκδοση. Ή φτάνουν, και μάλιστα διατηρούν την προβλεπόμενη λειτουργικότητα, αλλά η υλοποίησή τους είναι θεμελιωδώς διαφορετική από αυτήν που υπήρχε στην έκδοση alpha. Δεδομένου ότι χιλιάδες πελάτες της Red Hat χρησιμοποιούν το OpenShift για την υποστήριξη κρίσιμων εργασιών, δίνουμε ιδιαίτερη έμφαση στη σταθερότητα της πλατφόρμας μας και στη μακροπρόθεσμη υποστήριξη.

Η Red Hat καταβάλλει συντονισμένη προσπάθεια να κυκλοφορεί συχνά το OpenShift και να ενημερώνει την έκδοση Kubernetes που το συνοδεύει. Για παράδειγμα, η τρέχουσα έκδοση GA του OpenShift 4.3 κατά τη στιγμή της σύνταξης αυτού του κειμένου περιλαμβάνει το Kubernetes 1.16, το οποίο είναι μόνο μία έκδοση πίσω από την έκδοση 1.17 του Kubernetes. Αυτή είναι μια προσπάθεια να παρέχονται στους πελάτες Kubernetes εταιρικού επιπέδου και να παρέχεται πρόσθετη διασφάλιση ποιότητας καθώς κυκλοφορούν νέες εκδόσεις του OpenShift.

Διορθώσεις λογισμικού: "Υπάρχει ένα κενό στην έκδοση του Kubernetes που έχουμε στην παραγωγή. Και ο μόνος τρόπος για να το διορθώσουμε είναι να αναβαθμίσουμε τρεις εκδόσεις προς τα πάνω. Ή υπάρχουν άλλες επιλογές;"

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

Η Red Hat υπερηφανεύεται για την έγκαιρη κυκλοφορία κρίσιμων διορθώσεων και την παροχή υποστήριξης για πολύ μεγαλύτερο χρονικό διάστημα. Πάρτε, για παράδειγμα, την ευπάθεια κλιμάκωσης δικαιωμάτων Kubernetes (CVE-2018-1002105): ανακαλύφθηκε στο Kubernetes 1.11 και οι διορθώσεις για προηγούμενες εκδόσεις κυκλοφόρησαν μόνο έως την 1.10.11, αφήνοντας αυτό το κενό σε όλες τις προηγούμενες εκδόσεις του Kubernetes, από την 1.x έως την 1.9.

Με τη σειρά τους, Red Hat Patchs OpenShift Επιστροφή στην έκδοση 3.2 (Το Kubernetes 1.2 είναι εγκατεστημένο εκεί), καταγράφοντας εννέα εκδόσεις του OpenShift και επιδεικνύοντας με σαφήνεια την εξυπηρέτηση πελατών (περισσότερες λεπτομέρειες εδώ).

Πώς το OpenShift και το Red Hat οδηγούν τα Kubernetes μπροστά

Η Red Hat είναι ο δεύτερος μεγαλύτερος συνεργάτης στο έργο ανοιχτού κώδικα Kubernetes, πίσω μόνο από την Google, με 3 από τους 5 πιο παραγωγικούς συνεργάτες να προέρχονται από την Red Hat. Ένα άλλο λιγότερο γνωστό γεγονός: πολλά κρίσιμα χαρακτηριστικά στο Kubernetes δημιουργήθηκαν από την Red Hat, όπως:

  • RBAC. Το Kubernetes δεν διέθετε χαρακτηριστικά RBAC (ClusterRole, ClusterRoleBinding) μέχρι που οι μηχανικοί της Red Hat αποφάσισαν να τα εφαρμόσουν ως μέρος της ίδιας της πλατφόρμας, και όχι ως πρόσθετο χαρακτηριστικό του OpenShift. Δεν φοβάται η Red Hat να βελτιώσει το Kubernetes; Φυσικά και όχι, επειδή η Red Hat ακολουθεί αυστηρά τις αρχές του ανοιχτού κώδικα και δεν παίζει παιχνίδια Open Core. Οι βελτιώσεις και οι καινοτομίες που εφαρμόζονται σε επίπεδο κοινοτήτων ανάπτυξης, αντί για την αρχή των ιδιόκτητων, γίνονται πιο βιώσιμες και υιοθετούνται ευρύτερα, κάτι που ευθυγραμμίζεται απόλυτα με τον κύριο στόχο μας - να κάνουμε το λογισμικό ανοιχτού κώδικα πιο χρήσιμο για τους πελάτες μας.
  • Πολιτικές ασφαλείας pod. Αυτή η ιδέα της ασφαλούς εκτέλεσης εφαρμογών μέσα σε pod υλοποιήθηκε αρχικά στο OpenShift με την ονομασία SCC (Security Context Constraints). Και όπως στο προηγούμενο παράδειγμα, η Red Hat αποφάσισε να συμπεριλάβει αυτές τις εξελίξεις στο έργο ανοιχτού κώδικα Kubernetes, ώστε να μπορούν να τις χρησιμοποιήσουν όλοι.

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

Είναι σαφές ότι το OpenShift είναι Kubernetes. Αλλά ποιες είναι οι διαφορές; 🙂

Ας ελπίσουμε ότι μέχρι αυτό το σημείο έχετε μάθει ότι το Kubernetes είναι ένα βασικό στοιχείο του OpenShift. Ένα βασικό στοιχείο, αλλά όχι το μόνο. ​​Με άλλα λόγια, η απλή εγκατάσταση του Kubernetes δεν σας παρέχει μια πλατφόρμα εταιρικού επιπέδου. Θα χρειαστεί να προσθέσετε έλεγχο ταυτότητας, δικτύωση, ασφάλεια, παρακολούθηση, διαχείριση αρχείων καταγραφής και πολλά άλλα. Θα πρέπει επίσης να κάνετε κάποιες δύσκολες επιλογές ανάμεσα στα πολλά διαθέσιμα εργαλεία (απλώς ρίξτε μια ματιά στο οικοσύστημα για να δείτε πόσο ποικιλόμορφο είναι). Διάγραμμα CNCF) και με κάποιο τρόπο να διασφαλίζουν τη συνέπεια και τη συνοχή, ώστε να λειτουργούν ως ενιαίο σύνολο. Επιπλέον, θα πρέπει να εκτελείτε τακτικά ενημερώσεις και δοκιμές παλινδρόμησης όταν κυκλοφορεί μια νέα έκδοση οποιουδήποτε από τα στοιχεία που χρησιμοποιούνται. Δηλαδή, εκτός από τη δημιουργία και τη συντήρηση της ίδιας της πλατφόρμας, θα πρέπει επίσης να ασχοληθείτε με όλο αυτό το λογισμικό. Είναι απίθανο να απομείνει πολύς χρόνος για την επίλυση επιχειρηματικών προβλημάτων και την επίτευξη ανταγωνιστικών πλεονεκτημάτων.

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

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
Το OpenShift είναι μια έξυπνη πλατφόρμα Kubernetes

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

1. Ένα αξιόπιστο λειτουργικό σύστημα ως βάση: RHEL CoreOS ή RHEL

Η Red Hat είναι κορυφαίος πάροχος για πάνω από 20 χρόνια. Linux-διανομές για κρίσιμες επιχειρηματικές εφαρμογές. Η εκτεταμένη και συνεχώς ενημερωμένη εμπειρία μας σε αυτόν τον τομέα μας επιτρέπει να προσφέρουμε μια πραγματικά αξιόπιστη και έμπιστη βάση για την ανάπτυξη βιομηχανικών κοντέινερ. Το RHEL CoreOS χρησιμοποιεί τον ίδιο πυρήνα με το RHEL, αλλά είναι βελτιστοποιημένο κυρίως για εργασίες όπως η εκτέλεση κοντέινερ και η εκτέλεση σε clusters Kubernetes: το μειωμένο μέγεθος και η αμετάβλητη λειτουργία του απλοποιούν τη ρύθμιση cluster, την αυτόματη κλιμάκωση, την ανάπτυξη ενημερώσεων κώδικα και πολλά άλλα. Όλα αυτά τα χαρακτηριστικά το καθιστούν την ιδανική βάση για την παροχή μιας συνεπούς εμπειρίας χρήστη OpenShift σε ένα ευρύ φάσμα υπολογιστικών περιβαλλόντων, από bare metal έως ιδιωτικά και δημόσια clouds.

2. Αυτοματοποίηση λειτουργιών πληροφορικής

Η αυτοματοποίηση της εγκατάστασης και των λειτουργιών της δεύτερης ημέρας (δηλαδή της καθημερινής λειτουργίας) είναι το δυνατό σημείο του OpenShift, καθιστώντας πολύ πιο εύκολη τη διαχείριση, την ενημέρωση και τη συντήρηση της πλατφόρμας κοντέινερ στο υψηλότερο επίπεδο. Αυτό επιτυγχάνεται μέσω της υποστήριξης για τους χειριστές Kubernetes στο βασικό επίπεδο του OpenShift 4.

Το OpenShift 4 είναι επίσης ένα ολόκληρο οικοσύστημα λύσεων που βασίζονται σε τελεστές Kubernetes, οι οποίοι έχουν αναπτυχθεί τόσο από την ίδια την Red Hat όσο και από τρίτους συνεργάτες (βλ. κατάλογος χειριστών Red Hat, ή το Κατάστημα Χειριστών operatorhub.io, που δημιουργήθηκε από την Red Hat για τρίτους προγραμματιστές).

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
Ο ενσωματωμένος κατάλογος του OpenShift 4 περιλαμβάνει πάνω από 180 τελεστές Kubernetes

3. Εργαλεία προγραμματιστή

Από το 2011, το OpenShift είναι διαθέσιμο ως πλατφόρμα PaaS (Platform-as-a-Service), η οποία απλοποιεί σημαντικά τη ζωή των προγραμματιστών, τους βοηθά να επικεντρωθούν στη δημιουργία κώδικα και προσφέρει ενσωματωμένη υποστήριξη για γλώσσες προγραμματισμού όπως Java, Node.js, PHP, Ruby, Python, Go, καθώς και υπηρεσίες συνεχούς ενσωμάτωσης και παράδοσης CI/CD, βάσεων δεδομένων κ.λπ. Το OpenShift 4 προσφέρει εκτενής κατάλογος, το οποίο περιλαμβάνει περισσότερες από 100 υπηρεσίες που βασίζονται σε τελεστές Kubernetes που αναπτύχθηκαν από την Red Hat και τους συνεργάτες μας.

Σε αντίθεση με το Kubernetes, το OpenShift 4 διαθέτει μια ειδική γραφική διεπαφή (Κονσόλα προγραμματιστή), το οποίο βοηθά τους προγραμματιστές να αναπτύσσουν εύκολα εφαρμογές από διάφορες πηγές (git, εξωτερικά μητρώα, Dockerfile, κ.λπ.) στους χώρους ονομάτων τους και απεικονίζει με σαφήνεια τις σχέσεις μεταξύ των στοιχείων της εφαρμογής.

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
Η Κονσόλα Προγραμματιστή παρέχει μια οπτική αναπαράσταση των στοιχείων της εφαρμογής και διευκολύνει την εργασία με το Kubernetes.

Επιπλέον, το OpenShift προσφέρει μια σουίτα εργαλείων ανάπτυξης Codeready, η οποία περιλαμβάνει, μεταξύ άλλων: Χώροι εργασίας Codeready, ένα πλήρως κοντεϊνεροποιημένο IDE με μια διεπαφή ιστού που εκτελείται απευθείας πάνω από το OpenShift και υλοποιεί την προσέγγιση IDE-as-a-service. Από την άλλη πλευρά, για όσους θέλουν να εργαστούν αυστηρά τοπικά, υπάρχει το Codeready Containers - μια πλήρως λειτουργική έκδοση του OpenShift 4 που μπορεί να αναπτυχθεί σε φορητό υπολογιστή.

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
Ενσωματωμένο IDE ως υπηρεσία για αποτελεσματική ανάπτυξη στην πλατφόρμα Kubernetes/OpenShift

Το OpenShift προσφέρει ένα πλήρες σύστημα CI/CD αμέσως μόλις το αγοράσετε, είτε μέσω του Jenkins σε κοντέινερ είτε μέσω ενός πρόσθετου (plugin). DSL για εργασία με αγωγούς ή ένα σύστημα CI/CD προσανατολισμένο στο Kubernetes Τέκτων (αυτήν τη στιγμή βρίσκεται σε προεπισκόπηση Τεχνολογίας) Και οι δύο αυτές λύσεις ενσωματώνονται πλήρως με την κονσόλα OpenShift, επιτρέποντάς σας να εκτελείτε ενεργοποιητές αγωγών, να προβάλλετε αναπτύξεις, αρχεία καταγραφής και πολλά άλλα.

4. Εργαλεία εφαρμογής

Το OpenShift επιτρέπει την ανάπτυξη τόσο παραδοσιακών εφαρμογών με δυνατότητα stateful όσο και λύσεων cloud-native που βασίζονται σε νέες αρχιτεκτονικές, όπως οι μικροϋπηρεσίες ή οι serverless. Η λύση OpenShift Service Mesh περιλαμβάνει βασικά εργαλεία για την υποστήριξη μικροϋπηρεσιών, όπως οι Istio, Kiali και Jaeger, αμέσως μόλις την ενεργοποιήσετε. Με τη σειρά της, η λύση OpenShift Serverless περιλαμβάνει όχι μόνο το Knative, αλλά και εργαλεία που δημιουργήθηκαν στο πλαίσιο μιας κοινής πρωτοβουλίας με τη Microsoft, όπως το Keda για την παροχή λειτουργιών Azure στην πλατφόρμα OpenShift.

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
Η ολοκληρωμένη λύση OpenShift ServiceMesh (Istio, Kiali, Jaeger) θα είναι χρήσιμη κατά την ανάπτυξη μικροϋπηρεσιών

Για να γεφυρώσει το χάσμα μεταξύ των παλαιών εφαρμογών και των κοντέινερ, το OpenShift επιτρέπει πλέον τη μετεγκατάσταση εικονικών μηχανών στην πλατφόρμα OpenShift χρησιμοποιώντας το Container Native Virtualization (αυτήν τη στιγμή στο TechPreview), καθιστώντας τις υβριδικές εφαρμογές πραγματικότητα και διευκολύνοντας τη μετακίνησή τους σε cloud, τόσο ιδιωτικά όσο και δημόσια.

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
Εικονική μηχανή Windows Εικονική έκδοση 2019, που εκτελείται σε OpenShift μέσω Container Native Virtualization (αυτήν τη στιγμή βρίσκεται σε Τεχνολογική Προεπισκόπηση)

5. Εργαλεία συμπλέγματος

Οποιαδήποτε πλατφόρμα εταιρικής κλάσης θα πρέπει να διαθέτει υπηρεσίες παρακολούθησης και κεντρικής καταγραφής, μηχανισμούς ασφαλείας, έλεγχο ταυτότητας και εξουσιοδότησης, καθώς και εργαλεία διαχείρισης δικτύου. Και το OpenShift παρέχει όλα αυτά άμεσα, και είναι 100% ανοιχτού κώδικα, συμπεριλαμβανομένων λύσεων όπως ElasticSearch, Prometheus, Grafana. Όλες αυτές οι λύσεις συνοδεύονται από πίνακες ελέγχου, μετρήσεις και ειδοποιήσεις που έχουν ήδη συναρμολογηθεί και διαμορφωθεί λαμβάνοντας υπόψη την εκτεταμένη εμπειρία της Red Hat στην παρακολούθηση συμπλεγμάτων, η οποία σας επιτρέπει να παρακολουθείτε και να παρακολουθείτε αποτελεσματικά το περιβάλλον παραγωγής σας από την αρχή.

Το OpenShift συνοδεύεται επίσης από σημαντικά στοιχεία για τους εταιρικούς πελάτες, όπως έλεγχο ταυτότητας με ενσωματωμένο πάροχο oauth, ενσωμάτωση με παρόχους διαπιστευτηρίων, όπως LDAP, ActiveDirectory, OpenID Connect και πολλά άλλα.

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
Προρυθμισμένος πίνακας ελέγχου Grafana για την παρακολούθηση του συμπλέγματος OpenShift

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
150+ προρυθμισμένες μετρήσεις και ειδοποιήσεις Prometheus για την παρακολούθηση του συμπλέγματος OpenShift

Για να συνεχιστεί

Η πλούσια λειτουργικότητα της λύσης και η εκτεταμένη εμπειρία της Red Hat στο Kubernetes είναι οι λόγοι για τους οποίους το OpenShift έχει καταλάβει κυρίαρχη θέση στην αγορά, όπως φαίνεται στο παρακάτω σχήμα (περισσότερες λεπτομέρειες εδώ).

OpenShift ως εταιρική έκδοση του Kubernetes. Μέρος 1
«Η Red Hat ηγείται αυτή τη στιγμή της αγοράς με μερίδιο 44%.»
Η εταιρεία αποκομίζει τα οφέλη της πρακτικής στρατηγικής πωλήσεων, όπου αρχικά συμβουλεύει και εκπαιδεύει τους προγραμματιστές επιχειρήσεων και στη συνέχεια προχωρά στην αξιοποίηση εσόδων καθώς η επιχείρηση αρχίζει να αναπτύσσει κοντέινερ στην παραγωγή.

(Πηγή: www.lightreading.com/nfv/containers/ihs-red-hat-container-strategy-is-paying-off/d/d-id/753863)

Ελπίζουμε να απολαύσατε αυτό το άρθρο. Σε μελλοντικές αναρτήσεις αυτής της σειράς, θα εμβαθύνουμε περισσότερο στα πλεονεκτήματα του OpenShift έναντι του Kubernetes σε κάθε μία από τις κατηγορίες που καλύπτονται εδώ.

Πηγή: www.habr.com

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster