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

Γιατί να χρησιμοποιήσετε το Puppet για αυτοματοποίηση και ενορχήστρωση

Η Puppet τιμολογεί η εταιρεία Puppet το εργαλείο αυτοματισμού ως de facto πρότυπο για την αυτοματοποίηση της παράδοσης και της συνεχιζόμενης λειτουργίας υβριδικής υποδομής. Αυτό ήταν σίγουρα αλήθεια κάποτε: Το Puppet όχι μόνο πηγαίνει πίσω στο 2005, αλλά επίσης υποστηρίζει 40.000 οργανισμούς παγκοσμίως ως χρήστες, συμπεριλαμβανομένου του 75% του Fortune 100. Ενώ το Puppet εξακολουθεί να είναι ένα πολύ ισχυρό προϊόν και έχει αυξήσει την ταχύτητα και τις δυνατότητές του τα χρόνια, οι ανταγωνιστές του, ιδίως ο Chef, μείωσαν το κενό.

Όπως θα περίμενε κανείς από τον χώρο του αυτοματισμού πληροφορικής, η Puppet διαθέτει μια πολύ μεγάλη συλλογή από ενότητες και καλύπτει τη γκάμα από CI / CD έως υποδομή που βασίζεται σε cloud, αν και μεγάλο μέρος αυτής της λειτουργικότητας παρέχεται μέσω πρόσθετων προϊόντων. Ενώ το Puppet είναι κυρίως ένα βασισμένο σε μοντέλο σύστημα με πράκτορες, υποστηρίζει λειτουργίες push με Puppet Tasks. Το Puppet Enterprise διατίθεται ακόμη και ως υπηρεσία στο Amazon.

Προϊόντα μαριονέτας

Οι τρέχουσες προσφορές μαριονετών περιλαμβάνουν κουκλοθέατρο ανοιχτού κώδικα, κουκλοθέατρο, κουκλοθέατρα, ανακάλυψη κουκλοθεάτρου, μπουλόνι μαριονέτας, μητρώο κοντέινερ μαριονέτας και κουκλοθέατρο. Το Open Source Puppet, μια αυτόματη μηχανή διαχείρισης για τα συστήματα Linux, Unix και Windows, εκτελεί διοικητικές εργασίες (όπως προσθήκη χρηστών, εγκατάσταση πακέτων και ενημέρωση διαμορφώσεων διακομιστή) με βάση μια κεντρική προδιαγραφή.

Το Puppet Enterprise προσθέτει λειτουργίες ενορχήστρωσης, κονσόλα ιστού και επαγγελματική υποστήριξη στο κουκλοθέατρο ανοιχτού κώδικα. Σας βοηθά να κλιμακώσετε την αυτοματοποίηση ευρέως και βαθιά σε όλη την υποδομή σας και να τη διατηρήσετε συμβατή. Το Puppet Discovery ανακαλύπτει παραδοσιακή υποδομή, πόρους που προέρχονται από νέφος και κοντέινερ και σας επιτρέπει να τα διαχειριστείτε.

Η μαριονέτα πέφτει

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

Η δυνατότητα Puppet Tasks χωρίς πράκτορα σάς επιτρέπει να εκτελείτε ad hoc εργασίες, σε αντίθεση με τον αυτοματισμό που βασίζεται σε μοντέλα με πράκτορες. Το Tasks διατίθεται σε δύο γεύσεις: το ανοιχτού κώδικα Puppet Bolt και το Puppet Enterprise Task Management. Το Bolt προορίζεται για μικρότερες υποδομές, ενώ το Enterprise Task Management, ένα συστατικό του Puppet Enterprise, προορίζεται για υποδομές μεγάλης κλίμακας που χρειάζονται έλεγχο πρόσβασης βάσει ρόλων, μονοπάτια ελέγχου και ροές εργασίας προσανατολισμένες στην ομάδα.

Το Puppet Container Registry (πρώην Distelli Europa), το οποίο διατίθεται σε δωρεάν, premium (ή ομάδα) και εταιρικές εκδόσεις, παρέχει μια ενοποιημένη προβολή τοπικών και απομακρυσμένων μητρώων για κοντέινερ Docker. Η premium έκδοση προσθέτει υποστήριξη πολλαπλών χρηστών και έλεγχο πρόσβασης. η εταιρική έκδοση προσθέτει μεμονωμένη σύνδεση.

Κουκλοθέατρο

Το Puppet Forge είναι ένα αποθετήριο ενοτήτων για ανοιχτές πηγές Puppet και Puppet Enterprise. Αυτή τη στιγμή περιέχει πάνω από 5.500 προ-ενσωματωμένες ενότητες. Ορισμένες ενότητες έχουν Puppet Tasks, αλλά όχι όλες. Ορισμένες ενότητες δοκιμάζονται και υποστηρίζονται από την Puppet ως μέρος της Puppet Enterprise και ορισμένες εγκρίνονται μόνο από την Puppet.

Κάθε ενότητα έχει τις δικές της προϋποθέσεις και τη διαδικασία εγκατάστασης. Δεν θα πω "Εδώ είναι δράκοι", αλλά θα πω ότι η εγκατάσταση λειτουργικών μονάδων είναι ένας τομέας όπου η Puppet δεν προσπαθεί καν να καλύψει τις ρίζες της ως εργαλείο για Linux / Unix sysadmins, παρόλο που τα Windows είναι αρκετά καλά αυτές τις μέρες (εκτός από τον Δάσκαλο).

Κουκλοθέατρο

Το Puppet Enterprise είναι μια ενοποιημένη πλατφόρμα που συνδυάζει μια προσέγγιση διαμόρφωσης βάσει μοντέλου με επιτακτική εκτέλεση εργασιών, ώστε να μπορείτε να διαχειριστείτε υβριδική υποδομή. Υποστηρίζει πρακτικές devops όπως έλεγχο έκδοσης, έλεγχος κώδικα, αυτοματοποιημένες δοκιμές, συνεχή ενσωμάτωση και αυτόματη ανάπτυξη. Μπορείτε επίσης να χρησιμοποιήσετε το Puppet για τη μετεγκατάσταση των φόρτων εργασίας στο cloud, τα κοντέινερ και το υβριδικό cloud. Το Puppet σας επιτρέπει να επιβάλλετε την επιθυμητή κατάσταση των διαμορφώσεών σας, να αποκαθιστάτε αυτόματα τυχόν απροσδόκητες αλλαγές και να αυτοματοποιείτε ad hoc εργασίες.

Το Puppet Enterprise συμβάλλει στη μείωση των κινδύνων που σχετίζονται με εσφαλμένες διαμορφώσεις ασφαλείας και αποτυχημένους ελέγχους, επιβάλλοντας συνεχώς τις πολιτικές ασφαλείας σας και αποδεικνύοντας τη συμμόρφωση. Βασικά, το Puppet Master στέλνει αυτόματα (pushes) καταλόγους στους πελάτες του κάθε μισή ώρα, και οι πράκτορες Puppet στους πελάτες συγκρίνουν τον κατάλογο αυτό με γεγονότα σχετικά με την υπάρχουσα διαμόρφωσή του και εφαρμόζουν αλλαγές, εάν είναι απαραίτητο. Στη συνέχεια, οι πράκτορες επιστρέφουν μια αναφορά κατάστασης στον κύριο, η οποία μπορεί να δημιουργήσει μια συνολική αναφορά συμμόρφωσης. Η ασφάλεια και η συμμόρφωση αντιμετωπίζονται ως μέρος της βασικής διαχείρισης διαμόρφωσης της Puppet και όχι σε ξεχωριστό στοιχείο.

Μαριονέτα στο σύννεφο

Η Puppet Enterprise συνδυάζεται με τους κορυφαίους παρόχους υπηρεσιών cloud: Amazon, Microsoft, VMware και Google. Σας επιτρέπει να απλοποιήσετε τη διαχείριση υπολογιστικών, αποθηκευτικών και δικτυακών πόρων και να κλιμακώσετε το φόρτο εργασίας σε ετερογενή περιβάλλοντα. Η λειτουργικότητα βρίσκεται κυρίως σε λειτουργικές μονάδες ειδικά για σύννεφο, για παράδειγμα η ενότητα puppetlabs / aws, η οποία παρέχει μια διεπαφή στο AWS API και σας επιτρέπει όχι μόνο την παροχή παρουσιών, αλλά και την περιγραφή ολόκληρης της υποδομής AWS και τη μοντελοποίηση των σχέσεων μεταξύ διαφορετικών συστατικά.

Το Puppet Enterprise δεν υποστηρίζει επί του παρόντος λειτουργίες χωρίς διακομιστές. Το Puppet Pipelines, ένα άλλο μέρος του χαρτοφυλακίου, είναι ένα εργαλείο για τη διαχείριση του κύκλου ζωής κυκλοφορίας του κώδικα εφαρμογής προγραμματιστή, ο οποίος μπορεί να περιλαμβάνει λειτουργίες χωρίς διακομιστές.

Κιτ ανάπτυξης μαριονετών

Το Puppet επιτρέπει τη βαθιά προσαρμοσμένη ανάπτυξη, επιτρέποντάς σας να γράψετε τις δικές σας ενότητες. Προσφέρει τώρα ένα κιτ ανάπτυξης που καθιστά ευκολότερη τη δημιουργία νέων ενοτήτων και καθιστά επίσης δυνατή τη μετατροπή παλαιών ενοτήτων ώστε να είναι συμβατή με το κιτ ανάπτυξης κουκλοθέατρου (PDK) Το PDK περιλαμβάνει εργαλεία δοκιμών, ένα πλήρες πρότυπο λειτουργικής μονάδας (όπως YAML, Ruby και ενσωματωμένα αρχεία Ruby) και εργαλεία γραμμής εντολών για να σας βοηθήσουν να δημιουργήσετε, να επικυρώσετε και να εκτελέσετε δοκιμές σε μονάδες Puppet.

Εγκατάσταση και εγκατάσταση μαριονετών

Υπάρχουν δύο βασικοί τρόποι για την πραγματική εγκατάσταση του Puppet Enterprise: χρησιμοποιώντας το AWS OpsWorks ή κατεβάζοντας και εγκαθιστώντας το μόνοι σας είτε εσωτερικά είτε σε μία ή περισσότερες περιπτώσεις cloud. (Η διαχείριση έως και 10 κόμβων είναι δωρεάν.) Πριν δοκιμάσετε οποιαδήποτε από αυτές τις εγκαταστάσεις, ίσως θελήσετε να μάθετε το Puppet με το Puppet Learning VM ή τον online εξομοιωτή Puppet που φαίνεται παρακάτω.

Χρησιμοποιώντας AWS OpsWorks για Puppet Enterprise, μια διαχειριζόμενη υπηρεσία, μπορείτε να έχετε ένα πλήρως διαμορφωμένο Master Puppet να λειτουργεί και να λειτουργεί σε AWS σε λιγότερο από 20 λεπτά. Το OpsWorks είναι μια καλή επιλογή για μικρές ομάδες και καταστήματα που δεν μπορούν ή δεν θέλουν να διαχειριστούν τη δική τους υποδομή κουκλοθέατρου.

Τα βασικά βήματα για τη δημιουργία μιας παρουσίας AWS OpsWorks για Puppet Enterprise ξεκινούν με τη λήψη και εγκατάσταση των εργαλείων πελάτη AWS CLI, Git και Puppet Enterprise. Δημιουργήστε ένα κλειδί SSH, δημιουργήστε έναν λογαριασμό GitHub χρησιμοποιώντας το κλειδί SSH, συνδεθείτε στην κονσόλα AWS, μεταβείτε στην υπηρεσία OpsWorks και κάντε κλικ στην επιλογή "Δημιουργία διακομιστή Puppet Enterprise". Δώστε στο διακομιστή σας ένα μικρό όνομα, επιλέξτε μια περιοχή και επιλέξτε τον τύπο παρουσίας c4.large. Στην επόμενη σελίδα, ας πούμε ότι δεν χρησιμοποιείτε κλειδί SSH (για AWS - αυτό δεν έχει καμία σχέση με το κλειδί GitHub SSH) και παρέχετε έναν σύνδεσμο για το αποθετήριο ελέγχου GitHub. Αποδεχτείτε τις προεπιλογές στη σελίδα σύνθετων ρυθμίσεων, ξεκινήστε την παρουσία του διακομιστή σας και πραγματοποιήστε λήψη τόσο των διαπιστευτηρίων όσο και του Starter Kit προτού ολοκληρωθεί η προετοιμασία της παρουσίας. Το υπόλοιπο από αυτό που χρειάζεστε είναι στο Starter Kit, αλλά σε αυτό το σημείο θα έχετε ήδη έναν Master που λειτουργεί που επιβάλλει τη δική του διαμόρφωση.

Η εγκατάσταση του Puppet Enterprise μόνοι σας είναι μια πολύ μεγαλύτερη και πιο περίπλοκη λειτουργία και σας δίνει τη δυνατότητα να κάνετε αναβάθμιση κάθε φορά που η Puppet κυκλοφορεί μια νέα έκδοση. Από την άλλη πλευρά, μπορείτε να επωφεληθείτε από τους πόρους διακομιστή που έχετε ήδη.

Μπορείτε να εγκαταστήσετε το Puppet Enterprise με ένα πρόγραμμα εγκατάστασης που βασίζεται στον Ιστό ή σε κείμενο σε ένα σύστημα RHEL, Ubuntu LTS ή Suse Linux, αφού κατεβάσετε το κατάλληλο tarball και ελέγξετε το δακτυλικό αποτύπωμά του. Θα πρέπει να δώσετε το email σας για να λάβετε τον σύνδεσμο. Θα πρότεινα να ξεκινήσετε με μια εγκατάσταση μονοφωνικού ιστού (όλα σε έναν κόμβο) και να λάβετε όλες τις προεπιλογές. Μπορείτε πάντα να κάνετε αναβάθμιση αργότερα. Μπορείτε να αποφύγετε τα περισσότερα προβλήματα εάν ξεκινήσετε με μια νέα εικόνα συστήματος Linux — μην «βοηθήσετε», ας πούμε, εγκαθιστώντας το PostgreSQL εκ των προτέρων.

Κόστος: Κουκλοθέατρο ανοιχτού κώδικα: δωρεάν. Puppet Enterprise: 10 κόμβοι δωρεάν, 120 $ / κόμβος / έτος έως 500 κόμβοι με τυπική υποστήριξη. Το Puppet Discovery βρίσκεται επί του παρόντος σε τεχνική προεπισκόπηση. Puppet Piplines: πέντε κόμβοι δωρεάν, 29,99 $ / κόμβος / μήνα έως 100 κόμβοι με τυπική υποστήριξη.

Πλατφόρμα: Master: Red Hat, SUSE ή Ubuntu Linux. Πράκτορες: Linux, Windows Vista ή μεταγενέστερη έκδοση, MacOS 10.10 ή μεταγενέστερη έκδοση, Solaris 10 ή 11. Cloud master διατίθεται ως AWS OpsWorks για Puppet Enterprise.