Αποδέσμευση εργαλείου διαχείρισης κοντέινερ LXC και LXD 4.0

Canonical Company опубликовала απελευθέρωση εργαλείων για την οργάνωση της εργασίας μεμονωμένων δοχείων LXC 4.0, διαχειριστής κοντέινερ LXD 4.0 και εικονικό FS LXCFS 4.0 για προσομοίωση σε κοντέινερ /proc, /sys και εικονική αναπαράσταση cgroupfs για διανομές χωρίς υποστήριξη για χώρους ονομάτων cgroup. Το Branch 4.0 ταξινομείται ως έκδοση μακροπρόθεσμης υποστήριξης, οι ενημερώσεις για την οποία δημιουργούνται σε περίοδο 5 ετών

Το LXC είναι ένας χρόνος εκτέλεσης για τη λειτουργία τόσο κοντέινερ συστήματος όσο και κοντέινερ OCI. Το LXC περιλαμβάνει τη βιβλιοθήκη liblxc, ένα σύνολο βοηθητικών προγραμμάτων (lxc-create, lxc-start, lxc-stop, lxc-ls, κ.λπ.), πρότυπα για τη δημιουργία κοντέινερ και ένα σύνολο συνδέσμων για διάφορες γλώσσες προγραμματισμού. Η απομόνωση πραγματοποιείται χρησιμοποιώντας τυπικούς μηχανισμούς πυρήνα Linux. Για την απομόνωση διεργασιών, τη στοίβα δικτύου ipc, τα uts, τα αναγνωριστικά χρήστη και τα σημεία προσάρτησης, χρησιμοποιείται ο μηχανισμός των χώρων ονομάτων. Οι cgroups χρησιμοποιούνται για τον περιορισμό των πόρων. Για τη μείωση των προνομίων και τον περιορισμό της πρόσβασης, χρησιμοποιούνται χαρακτηριστικά του πυρήνα όπως τα προφίλ Apparmor και SELinux, οι πολιτικές Seccomp, το Chroots (pivot_root) και οι δυνατότητες. Κωδικός LXC γραπτός στη γλώσσα C και διανέμεται με την άδεια GPLv2.

Το LXD είναι ένα πρόσθετο στα LXC, CRIU και QEMU που χρησιμοποιείται για την κεντρική διαχείριση κοντέινερ και εικονικών μηχανών σε έναν ή περισσότερους διακομιστές. Εάν το LXC είναι μια εργαλειοθήκη χαμηλού επιπέδου για χειρισμό σε επίπεδο μεμονωμένων κοντέινερ, τότε το LXD υλοποιείται ως διαδικασία παρασκηνίου που δέχεται αιτήματα μέσω του δικτύου μέσω του REST API και σας επιτρέπει να δημιουργήσετε κλιμακούμενες διαμορφώσεις που αναπτύσσονται σε ένα σύμπλεγμα πολλών διακομιστών.
Υποστηρίζονται διάφορα backends αποθήκευσης (δέντρο καταλόγου, ZFS, Btrfs, LVM), στιγμιότυπα με ένα slice κατάστασης, ζωντανή μετεγκατάσταση κοντέινερ από το ένα μηχάνημα στο άλλο και εργαλεία για την οργάνωση της αποθήκευσης εικόνων. Κωδικός LXD γραπτός στο Go και διανέμεται με την άδεια Apache 2.0.

Κλειδί βελτιώσεις σε LXC 4.0:

  • Το πρόγραμμα οδήγησης έχει ξαναγραφτεί πλήρως για να συνεργαστεί με το cgroup. Προστέθηκε υποστήριξη για ενοποιημένη ιεραρχία cgroup (cgroup2). Προστέθηκε η λειτουργία του ελεγκτή κατάψυξης, με την οποία μπορείτε να διακόψετε την εργασία σε μια cgroup και να ελευθερώσετε προσωρινά ορισμένους πόρους (CPU, I/O και ενδεχομένως ακόμη και μνήμη) για να εκτελέσετε άλλες εργασίες.
  • Υλοποιημένη υποδομή για την παρακολούθηση κλήσεων συστήματος.
  • Προστέθηκε υποστήριξη για το υποσύστημα πυρήνα "pidfd", σχεδιασμένο για να χειρίζεται την κατάσταση της επαναχρησιμοποίησης PID (το pidfd σχετίζεται με μια συγκεκριμένη διαδικασία και δεν αλλάζει, ενώ ένα PID μπορεί να συσχετιστεί με μια άλλη διεργασία μετά τον τερματισμό της τρέχουσας διεργασίας που σχετίζεται με αυτό το PID) ;
  • Βελτιωμένη δημιουργία και διαγραφή συσκευών δικτύου, καθώς και η μετακίνησή τους μεταξύ χώρων ονομάτων υποσυστημάτων δικτύου.
  • Έχει υλοποιηθεί η δυνατότητα μεταφοράς συσκευών ασύρματου δικτύου (nl80211) σε κοντέινερ.

Κλειδί βελτιώσεις σε LXD 4.0:

  • Προστέθηκε υποστήριξη για την εκκίνηση όχι μόνο κοντέινερ, αλλά και εικονικών μηχανών.
  • Για την κατάτμηση των διακομιστών LXD, έχει προταθεί μια ιδέα έργου που απλοποιεί τη διαχείριση ομάδων κοντέινερ και εικονικών μηχανών. Κάθε έργο μπορεί να περιλαμβάνει το δικό του σύνολο κοντέινερ, εικονικές μηχανές, εικόνες, προφίλ και κατατμήσεις αποθήκευσης. Σε σχέση με έργα, μπορείτε να ορίσετε τους δικούς σας περιορισμούς και να αλλάξετε τις ρυθμίσεις.
  • Προστέθηκε υποστήριξη για την παρακολούθηση κλήσεων συστήματος για κοντέινερ.
  • Υλοποιήθηκε η δημιουργία αντιγράφων ασφαλείας των περιβαλλόντων και η αποκατάσταση από αυτά.
  • Η αυτοματοποιημένη δημιουργία στιγμιότυπων περιβαλλόντων και χωρισμάτων αποθήκευσης παρέχεται με τη δυνατότητα ρύθμισης της διάρκειας ζωής του στιγμιότυπου.
  • Προστέθηκε API για παρακολούθηση της κατάστασης του δικτύου (πληροφορίες δικτύου lxc).
  • Προστέθηκε υποστήριξη βάρδιες, εικονικό FS για αντιστοίχιση σημείων προσάρτησης σε χώρους ονομάτων χρήστη.
  • Έχουν προταθεί νέοι τύποι προσαρμογέων δικτύου "ipvlan" και "routed".
  • Προστέθηκε backend για χρήση αποθήκευσης που βασίζεται σε CephFS.
  • Υποστήριξη για αναπαραγωγή εικόνων και διαμορφώσεις πολλαπλών αρχιτεκτονικών έχει εφαρμοστεί για συμπλέγματα.
  • Προστέθηκε έλεγχος πρόσβασης βάσει ρόλου (RBAC).
  • Προστέθηκε υποστήριξη για το CGroup2.
  • Προστέθηκε η δυνατότητα διαμόρφωσης της διεύθυνσης MAC και προσδιορισμού της διεύθυνσης πηγής για το NAT.
  • Προστέθηκε API για τη διαχείριση δεσμεύσεων DHCP (μισθώσεις).
  • Προστέθηκε υποστήριξη για Nftables.

Πηγή: opennet.ru

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