Κυκλοφορία του Kubernetes 1.18, ενός συστήματος για τη διαχείριση ενός συμπλέγματος μεμονωμένων κοντέινερ

Που δημοσιεύθηκε απελευθέρωση της πλατφόρμας ενορχήστρωσης κοντέινερ Κουμπερνέτες 1.18, το οποίο σας επιτρέπει να διαχειρίζεστε ένα σύμπλεγμα μεμονωμένων κοντέινερ στο σύνολό του και παρέχει μηχανισμούς για την ανάπτυξη, τη συντήρηση και την κλιμάκωση εφαρμογών που εκτελούνται σε κοντέινερ. Το έργο δημιουργήθηκε αρχικά από την Google, αλλά στη συνέχεια μεταφέρθηκε σε έναν ανεξάρτητο ιστότοπο που εποπτεύεται από το Ίδρυμα Linux. Η πλατφόρμα τοποθετείται ως μια καθολική λύση που αναπτύχθηκε από την κοινότητα, δεν συνδέεται με μεμονωμένα συστήματα και είναι ικανή να λειτουργεί με οποιαδήποτε εφαρμογή σε οποιοδήποτε περιβάλλον cloud. Ο κώδικας Kubernetes είναι γραμμένος στο Go και διανέμονται από άδεια σύμφωνα με το Apache 2.0.

Παρέχει λειτουργίες για την ανάπτυξη και τη διαχείριση της υποδομής, όπως συντήρηση βάσης δεδομένων DNS, εξισορρόπηση φορτίου,
κατανομή κοντέινερ μεταξύ κόμβων συμπλέγματος (μεταφορά κοντέινερ ανάλογα με τις αλλαγές στο φορτίο και τις ανάγκες υπηρεσιών), έλεγχοι υγείας σε επίπεδο εφαρμογής, διαχείριση λογαριασμού, ενημέρωση και δυναμική κλιμάκωση ενός λειτουργικού συμπλέγματος, χωρίς διακοπή. Είναι δυνατή η ανάπτυξη ομάδων κοντέινερ με λειτουργίες ενημέρωσης και αναίρεσης για ολόκληρη την ομάδα ταυτόχρονα, καθώς και λογική διαίρεση του συμπλέγματος σε μέρη με διαίρεση πόρων. Υπάρχει υποστήριξη για δυναμική μετεγκατάσταση εφαρμογών, για αποθήκευση δεδομένων των οποίων μπορούν να χρησιμοποιηθούν τόσο συστήματα τοπικής αποθήκευσης όσο και δικτυακής αποθήκευσης.

Η κυκλοφορία του Kubernetes 1.18 περιλαμβάνει 38 αλλαγές και βελτιώσεις, εκ των οποίων οι 15 μετακινούνται σε σταθερή κατάσταση και οι 11 σε κατάσταση beta. Προτείνονται 12 νέες αλλαγές σε κατάσταση άλφα. Κατά την προετοιμασία της νέας έκδοσης, ίσες προσπάθειες στόχευαν τόσο στη βελτίωση των διαφόρων λειτουργιών και στη σταθεροποίηση των πειραματικών δυνατοτήτων, όσο και στην προσθήκη νέων εξελίξεων. Βασικές αλλαγές:

  • kubectl
    • Προστέθηκε Μια άλφα έκδοση της εντολής "kubectl debug", η οποία σας επιτρέπει να απλοποιήσετε τον εντοπισμό σφαλμάτων σε pods εκκινώντας εφήμερα κοντέινερ με εργαλεία εντοπισμού σφαλμάτων.
    • Δηλώθηκε σταθερό την εντολή "kubectl diff", η οποία σας επιτρέπει να δείτε τι θα αλλάξει στο σύμπλεγμα εάν εφαρμόσετε το μανιφέστο.
    • Καταργήθηκε όλες οι γεννήτριες της εντολής "kubectl run", εκτός από τη γεννήτρια για την εκτέλεση ενός μόνο pod.
    • Άλλαξε σημαία «--dry-run», ανάλογα με την τιμή του (πελάτης, διακομιστής και κανένας), η δοκιμαστική εκτέλεση της εντολής εκτελείται από την πλευρά του πελάτη ή του διακομιστή.
    • κώδικας kubectl τονίζεται σε ξεχωριστό αποθετήριο. Αυτό επέτρεψε στο kubectl να αποσυνδεθεί από τις εσωτερικές εξαρτήσεις του kubernetes και διευκόλυνε την εισαγωγή κώδικα σε έργα τρίτων.
  • Είσοδος
    • Ξεκίνησε αλλαγή της ομάδας API για Ingress σε networking.v1beta1.
    • Προστέθηκε νέα πεδία:
      • pathType, που σας επιτρέπει να καθορίσετε πώς θα συγκριθεί η διαδρομή στο αίτημα
      • Το IngressClassName είναι μια αντικατάσταση του σχολιασμού kubernetes.io/ingress.class, ο οποίος δηλώνεται ως καταργημένος. Αυτό το πεδίο καθορίζει το όνομα του ειδικού αντικειμένου InressClass
    • Προστέθηκε ένα αντικείμενο IngressClass, το οποίο υποδεικνύει το όνομα του ελεγκτή εισόδου, τις πρόσθετες παραμέτρους του και το σύμβολο χρήσης του από προεπιλογή
  • Υπηρεσία
    • Προστέθηκε από το πεδίο AppProtocol, στο οποίο μπορείτε να καθορίσετε ποιο πρωτόκολλο χρησιμοποιεί η εφαρμογή
    • Μεταφρασμένο σε κατάσταση beta και ενεργοποιημένο από προεπιλογή EndpointSlicesAPI, το οποίο είναι μια πιο λειτουργική αντικατάσταση για τα κανονικά Endpoints.
  • Δικτύου
  • Μόνιμοι δίσκοι. Η ακόλουθη λειτουργικότητα έχει δηλωθεί σταθερή:
  • Διαμόρφωση εφαρμογής
    • Για ConfigMap και Secret αντικείμενα προστέθηκε νέο πεδίο "αμετάβλητο". Η ρύθμιση της τιμής του πεδίου σε true αποτρέπει την τροποποίηση του αντικειμένου.
  • Προγραμματιστής
    • Προστέθηκε δυνατότητα δημιουργίας πρόσθετων προφίλ για το kube-scheduler. Εάν προηγουμένως ήταν απαραίτητο να εκτελεστούν πρόσθετοι ξεχωριστοί προγραμματιστές για την υλοποίηση μη τυπικών αλγορίθμων διανομής pod, τώρα είναι δυνατό να δημιουργηθούν πρόσθετα σύνολα ρυθμίσεων για τον τυπικό χρονοπρογραμματιστή και να προσδιορίσετε το όνομά του στο ίδιο πεδίο pod ".spec.schedulerName". Κατάσταση - άλφα.
    • Εκδίωξη με βάση τη μολύνσεις κηρύχθηκε σταθερή
  • Κλιμάκωση
    • Προστέθηκε η δυνατότητα προσδιορισμού στο HPA εκδηλώνεται ο βαθμός επιθετικότητας κατά την αλλαγή του αριθμού των εκτελούμενων pods, δηλαδή, όταν αυξάνεται το φορτίο, ξεκινά N φορές περισσότερες παρουσίες ταυτόχρονα.
  • Κούμπελετ
    • Υπεύθυνος Τοπολογίας έλαβε κατάσταση beta. Η δυνατότητα ενεργοποιεί την εκχώρηση NUMA, η οποία αποφεύγει την υποβάθμιση της απόδοσης σε συστήματα πολλαπλών υποδοχών.
    • Κατάσταση beta έλαβε Λειτουργία PodOverhead, η οποία σας επιτρέπει να καθορίσετε στο RuntimeClass τον πρόσθετο όγκο πόρων που απαιτείται για την εκτέλεση του pod.
    • Αναπτυγμένος υποστήριξη για HugePages, σε κατάσταση άλφα προστέθηκε απομόνωση σε επίπεδο κοντέινερ και υποστήριξη για πολλαπλά μεγέθη τεράστιων σελίδων.
    • Διαγράφηκε τελικό σημείο για μετρήσεις /metrics/resource/v1alpha1, χρησιμοποιείται αντί αυτού το /metrics/resource
  • API
    • Τελικά Καταργήθηκε η δυνατότητα χρήσης των παρωχημένων εφαρμογών ομάδας API/v1beta1 και επεκτάσεων/v1beta1.
    • Εφαρμογή από την πλευρά του διακομιστή αναβαθμίστηκε σε κατάσταση beta2. Αυτή η βελτίωση μετακινεί τη διαχείριση αντικειμένων από το kubectl στον διακομιστή API. Οι συντάκτες της βελτίωσης ισχυρίζονται ότι αυτό θα διορθώσει πολλά υπάρχοντα σφάλματα που δεν μπορούν να διορθωθούν στην τρέχουσα κατάσταση. Πρόσθεσαν επίσης μια ενότητα ".metadata.managedFields", στην οποία προτείνουν την αποθήκευση του ιστορικού των αλλαγών αντικειμένων, υποδεικνύοντας ποιος, πότε και τι ακριβώς άλλαξε.
    • Ανακοινώθηκε σταθερό CertificateSigningRequest API.
  • Υποστήριξη πλατφόρμας Windows.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο