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

Κριτική: Το λειτουργικό σύστημα Photon του VMware λάμπει για κοντέινερ Docker

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

Το Photon OS είναι ένας κεντρικός υπολογιστής κοντέινερ Linux μικρού αποτυπώματος που έχει σχεδιαστεί για να λειτουργεί σε εικονικές μηχανές και συντονισμένος για τους επόπτες VMware. Το VMware έχει αγκαλιάσει σίγουρα το κίνημα Docker σε μεγάλο βαθμό και όχι μόνο στο VMware. Μπορείτε να εκτελέσετε το λειτουργικό σύστημα Photon σε άλλους εποπτικούς φορείς, όπως το Google Compute Engine και το Amazon EC2. Ωστόσο, δεν μπορείτε να εγκαταστήσετε το Photon OS σε έναν φυσικό διακομιστή.

Το Photon OS δεν κάνει υποθέσεις σχετικά με το σύνολο εργαλείων κοντέινερ, αν και το Docker είναι εγκατεστημένο από προεπιλογή. Οι διαχειριστές μπορούν να στρώσουν εργαλεία διαχείρισης κοντέινερ της επιλογής τους πάνω από το βασικό λειτουργικό σύστημα χρησιμοποιώντας το πρόγραμμα διαχείρισης πακέτων Photon.

Διαχείριση συστήματος OS Photon

Στο Photon OS, η διαχείριση πακέτων γίνεται με το TDNF (Tiny Dandified Yum), μια δημιουργία ανοιχτού κώδικα VMware που προσφέρει διαχείριση πακέτων συμβατών με DNF χωρίς το μεγάλο αποτύπωμα Python του Yum.

Το VMware παρέχει τα δικά του αποθετήρια συμβατά με το Yum για τη διαχείριση πακέτων και υπογράφει πακέτα με υπογραφές GPG (GNU Privacy Guard). Αυτό βοηθά να γίνει ασφαλές το σύστημα από προεπιλογή. Η επαλήθευση υπογραφής πραγματοποιείται αυτόματα, επομένως δεν απαιτούνται επιπλέον βήματα από τους διαχειριστές συστήματος ή τα σενάρια. Τα αποθετήρια του Photon OS είναι «επιμελημένα», οπότε μην περιμένετε να βρείτε κάθε πακέτο εκεί έξω διαθέσιμο για λήψη.

Επειδή το Photon OS 1.0 Revision 2 είναι πακέτο με μια παλαιότερη έκδοση του Docker, το πρώτο πράγμα που ήθελα να κάνω ήταν να δοκιμάσω μια ενημέρωση. Αυτό πήγε άψογα, και μέσα σε ένα λεπτό, όλα τα εμπορευματοκιβώτια μου έτρεχαν στην τελευταία έκδοση του Docker.

Το Photon OS χρησιμοποιεί το σύστημα Systemd init, οπότε οι διαχειριστές θα πρέπει να μάθουν αυτή τη γεύση της διαχείρισης συστήματος εάν δεν το έχουν ήδη. Η ασφάλεια είναι ένα επίκεντρο, και το σύστημα περιλαμβάνει SE Linux για την ενίσχυση της απομόνωσης κοντέινερ. Ένα τείχος προστασίας (iptables) είναι ενεργοποιημένο από προεπιλογή και τα πακέτα από εξωτερικές διεπαφές (εκτός από την κίνηση SSH) απορρίπτονται, επομένως οι διαχειριστές θα πρέπει να προσθέσουν κανόνες για να επιτρέψουν την κυκλοφορία από τον έξω κόσμο.

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

Εγκατάσταση και διαμόρφωση λειτουργικού συστήματος Photon

Εγκατέστησα το Photon OS χρησιμοποιώντας την εικονική μηχανή με δυνατότητα λήψης. Όπως θα περίμενε κανείς, αυτό ήταν ανώδυνο στην εγκατάσταση του VMware Workstation Pro. Το σύστημα εντόπισε τη λήψη, ρώτησε αν ήθελα να αποδεχτώ τις παραμέτρους υλικού και ξεκίνησε αμέσως. Το Photon OS διατίθεται επίσης ως ISO και ως εικόνες για τα σύννεφα Amazon και Google. Αφού συνδεθήκαμε ως root και διαμορφώνοντας login χωρίς κωδικό πρόσβασης, ήμουν εκτός λειτουργίας.

Η ελάχιστη εγκατάσταση, όπως και οι άλλοι κεντρικοί υπολογιστές του κοντέινερ, δεν περιέχει σχεδόν τίποτα, ούτε καν sudo, αν και περιλαμβάνει SSH. Οι διαχειριστές που αναπτύσσουν στόλους των Photon OS VMs θα θέλουν να δημιουργήσουν σενάριο τη ρύθμιση και για αυτό το Photon OS χρησιμοποιεί το Cloud-Init, ένα σύνολο σεναρίων και βοηθητικών προγραμμάτων Python για να διευκολύνει την ανάπτυξη και τη διαμόρφωση cloud.

Ακόμη και για ένα λειτουργικό σύστημα για κοντέινερ Docker, η εγκατάσταση του λειτουργικού συστήματος Photon ήταν τόσο εύκολη όσο γίνεται. Φαίνεται ότι η εκτέλεση του Nginx σε ένα κοντέινερ είναι το "Hello world" για το Docker. Εδώ είναι στο Photon OS:

# systemctl έναρξη σύνδεσης

# systemctl ενεργοποιήστε το docker

# docker run –d –p 80:80 vmwarecna / nginx

Αποθήκευση και δικτύωση Photon OS

Χάρη στην εκτέλεση σε εικονικό περιβάλλον υλικού, οι συσκευές αποθήκευσης εμφανίζονται σαν κανονικό υλικό και διατίθενται τυπικές λειτουργίες συστήματος αρχείων στο Photon OS. Μπορείτε να προσθέσετε έναν νέο (εικονικό) δίσκο στο μηχάνημα και να τον τοποθετήσετε εκεί που χρειάζεται, όπως και οποιοσδήποτε άλλος δίσκος. Το σύστημα αρχείων Photon OS περιλαμβάνει Btrfs και Ext4. Το προεπιλεγμένο σύστημα αρχείων ρίζας είναι το Ext4. Παραδείγματα Btrfs είναι λίγα και το Ext4 φαίνεται να κυριαρχεί.

Η απομακρυσμένη αποθήκευση διαχειρίζεται από τα βοηθητικά προγράμματα Photon NFS. Κανένα από τα άλλα Linux με προσανατολισμό στα κοντέινερ που έχω χρησιμοποιήσει (Alpine, RancherOS, CoreOS και Atomic Host) δεν περιλάμβανε οδηγίες για το NFS, οπότε χαίρομαι που βλέπω ότι το VMware τεκμηρίωσε την πρακτική. Το NFS είναι ακόμα ζωντανό και κλωτσάει σε εταιρικά περιβάλλοντα και περιμένω ότι η τοποθέτηση μονάδων δίσκου NFS θα είναι μια κοινή περίπτωση χρήσης για τους χρήστες του Photon OS.

Η μόνη ασυνήθιστη επιλογή αποθήκευσης στο Photon OS είναι η επιλογή συστημάτων αρχείων μόνο για ανάγνωση ή ανάγνωση, αλλά αυτό εξαρτάται πραγματικά από τη θήκη χρήσης και χαίρομαι που έχω την επιλογή.

Η δικτύωση στο Photon OS χρησιμοποιεί τα βοηθητικά προγράμματα iproute2, αν και τα παραδοσιακά ipconfig και netstat περιλαμβάνονται εντολές. Οι εγκαταστάσεις του Photon OS δεν περιλαμβάνουν καμία ρύθμιση παραμέτρων δικτύου κοντέινερ από προεπιλογή, αλλά τεκμηριώνονται πολλές δημοφιλείς διαμορφώσεις: Docker, Rocket, DCOS κ.λπ. Από την άποψη της δικτύωσης, το Photon OS είναι ακριβώς όπως κάθε άλλη γεύση του Linux και δεν υπήρχαν εκπλήξεις.

Αναβαθμίσεις και υποβαθμίσεις λειτουργικού συστήματος Photon

Όπως το Atomic Host της Red Hat, το Photon OS χρησιμοποιεί rpm-ostree ως υβριδικό σύστημα διαχείρισης εικόνων / πακέτων, με τον δικό του διακομιστή OSTree. Η κατανόηση των συνόλων εντολών rpm-ostree, της ορολογίας και των βέλτιστων πρακτικών θα απαιτήσει λίγο χρόνο από τους διαχειριστές. Εκτός από την εκμάθηση ενός νέου συνόλου εντολών για μάθηση, οι διαχειριστές θα πρέπει να γνωρίζουν καταλόγους μόνο για ανάγνωση και να διασφαλίζουν ότι οι εφαρμογές δεν γράφουν αρχεία σε αυτούς. Για παράδειγμα, ο κατάλογος / usr είναι μόνο για ανάγνωση όταν χρησιμοποιείτε rpm-ostree. Το προφίλ rpm-ostree είναι μια επιλογή χρόνου εγκατάστασης, έτσι οι χρήστες μπορούν να επιλέξουν από TDNF ή rpm-ostree για διαχείριση πακέτων. Η τεκμηρίωση είναι καλή σε αυτό το θέμα.

Κατά την ανάπτυξη του Photon OS, το VMware μπόρεσε να απογυμνώσει όλα τα είδη παλαιών ενοτήτων από τον πυρήνα του Linux. Δεδομένου ότι το VMware ελέγχει ολόκληρο το υλικό και τη στοίβα λειτουργικού συστήματος, μπόρεσε επίσης να συντονίσει τα buffer, τη λογιστική του χρόνου και να μεταγλωττίσει σημαίες για την εξάλειψη των απολύσεων μεταξύ του χρόνου εκτέλεσης του κοντέινερ και του επόπτη. Για οργανισμούς με επένδυση στην εικονικοποίηση VMware, το έργο Photon πρέπει να βρίσκεται στην κορυφή της λίστας για διερεύνηση.