Κυκλοφορία του Kata Containers 3.0 με απομόνωση που βασίζεται σε εικονικοποίηση

Μετά από δύο χρόνια ανάπτυξης, δημοσιεύτηκε η κυκλοφορία του έργου Kata Containers 3.0, που αναπτύσσει μια στοίβα για την οργάνωση της εκτέλεσης κοντέινερ με χρήση απομόνωσης που βασίζεται σε πλήρεις μηχανισμούς εικονικοποίησης. Το έργο δημιουργήθηκε από την Intel και την Hyper συνδυάζοντας τεχνολογίες Clear Containers και runV. Ο κώδικας του έργου είναι γραμμένος στο Go and Rust και διανέμεται με την άδεια Apache 2.0. Η ανάπτυξη του έργου επιβλέπεται από μια ομάδα εργασίας που δημιουργήθηκε υπό την αιγίδα του ανεξάρτητου οργανισμού OpenStack Foundation, η οποία περιλαμβάνει εταιρείες όπως Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE και ZTE .

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

Το Kata Containers επικεντρώνεται στην ενσωμάτωση σε υπάρχουσες υποδομές απομόνωσης κοντέινερ με τη δυνατότητα χρήσης παρόμοιων εικονικών μηχανών για την ενίσχυση της προστασίας των παραδοσιακών κοντέινερ. Το έργο παρέχει μηχανισμούς για τη διασφάλιση της συμβατότητας ελαφρών εικονικών μηχανών με διάφορες υποδομές απομόνωσης κοντέινερ, πλατφόρμες ενορχήστρωσης κοντέινερ και προδιαγραφές όπως OCI (Open Container Initiative), CRI (Container Runtime Interface) και CNI (Container Networking Interface). Τα εργαλεία είναι διαθέσιμα για ενοποίηση με Docker, Kubernetes, QEMU και OpenStack.

Κυκλοφορία του Kata Containers 3.0 με απομόνωση που βασίζεται σε εικονικοποίηση

Η ενσωμάτωση με τα συστήματα διαχείρισης κοντέινερ επιτυγχάνεται χρησιμοποιώντας ένα επίπεδο που προσομοιώνει τη διαχείριση κοντέινερ, το οποίο έχει πρόσβαση στον παράγοντα διαχείρισης στην εικονική μηχανή μέσω της διεπαφής gRPC και ενός ειδικού διακομιστή μεσολάβησης. Μέσα στο εικονικό περιβάλλον, το οποίο εκκινείται από τον hypervisor, χρησιμοποιείται ένας ειδικά βελτιστοποιημένος πυρήνας Linux, ο οποίος περιέχει μόνο το ελάχιστο σύνολο απαραίτητων δυνατοτήτων.

Ως hypervisor, υποστηρίζει τη χρήση του Dragonball Sandbox (μια έκδοση του KVM βελτιστοποιημένη για κοντέινερ) με την εργαλειοθήκη QEMU, καθώς και το Firecracker και το Cloud Hypervisor. Το περιβάλλον του συστήματος περιλαμβάνει έναν δαίμονα αρχικοποίησης και έναν πράκτορα. Ο πράκτορας παρέχει την εκτέλεση εικόνων κοντέινερ που ορίζονται από το χρήστη σε μορφή OCI για Docker και CRI για Kubernetes. Όταν χρησιμοποιείται σε συνδυασμό με το Docker, δημιουργείται μια ξεχωριστή εικονική μηχανή για κάθε κοντέινερ, δηλ. Το περιβάλλον που τρέχει πάνω από τον hypervisor χρησιμοποιείται για ένθετη εκτόξευση κοντέινερ.

Κυκλοφορία του Kata Containers 3.0 με απομόνωση που βασίζεται σε εικονικοποίηση

Για τη μείωση της κατανάλωσης μνήμης, χρησιμοποιείται ο μηχανισμός DAX (άμεση πρόσβαση στο σύστημα αρχείων, παράκαμψη της προσωρινής μνήμης σελίδων χωρίς χρήση του επιπέδου συσκευής μπλοκ) και για την κατάργηση των ίδιων περιοχών μνήμης, χρησιμοποιείται η τεχνολογία KSM (Kernel Samepage Merging), η οποία σας επιτρέπει για να οργανώσετε την κοινή χρήση των πόρων του συστήματος κεντρικού υπολογιστή και να συνδεθείτε σε διαφορετικά συστήματα φιλοξενούμενων που μοιράζονται ένα κοινό πρότυπο περιβάλλοντος συστήματος.

Στη νέα έκδοση:

  • Προτείνεται ένας εναλλακτικός χρόνος εκτέλεσης (runtime-rs), ο οποίος σχηματίζει το γέμισμα των δοχείων, γραμμένο στη γλώσσα Rust (ο χρόνος εκτέλεσης που παρέχεται προηγουμένως γράφτηκε στη γλώσσα Go). Το Runtime είναι συμβατό με OCI, CRI-O και Containerd, επιτρέποντάς του να χρησιμοποιείται με Docker και Kubernetes.
  • Έχει προταθεί ένας νέος hypervisor dragonball βασισμένος σε KVM και rust-vmm.
  • Προστέθηκε υποστήριξη για προώθηση πρόσβασης στη GPU με χρήση VFIO.
  • Προστέθηκε υποστήριξη για cgroup v2.
  • Η υποστήριξη για την αλλαγή ρυθμίσεων χωρίς αλλαγή του κύριου αρχείου διαμόρφωσης έχει υλοποιηθεί με την αντικατάσταση μπλοκ σε ξεχωριστά αρχεία που βρίσκονται στον κατάλογο "config.d/".
  • Τα στοιχεία Rust περιλαμβάνουν μια νέα βιβλιοθήκη για ασφαλή εργασία με διαδρομές αρχείων.
  • Το στοιχείο virtiofsd (γραμμένο σε C) έχει αντικατασταθεί με virtiofsd-rs (γραμμένο σε Rust).
  • Προστέθηκε υποστήριξη για sandboxing εξαρτημάτων QEMU.
  • Το QEMU χρησιμοποιεί το io_uring API για ασύγχρονη I/O.
  • Η υποστήριξη για επεκτάσεις Intel TDX (Trusted Domain Extensions) έχει υλοποιηθεί για το QEMU και το Cloud-hypervisor.
  • Ενημερωμένα στοιχεία: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, πυρήνας Linux 5.19.2.

Πηγή: opennet.ru

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