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

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

Ο Chef υπήρξε ένα κορυφαίο εργαλείο ανοιχτού κώδικα για την αυτοματοποίηση της παροχής και της διαμόρφωσης των διακομιστών για το μεγαλύτερο μέρος μιας δεκαετίας. Τα τελευταία χρόνια η εταιρεία πρόσθεσε το InSpec και το Habitat στο χαρτοφυλάκιο, έργα ανοιχτού κώδικα που αυτοματοποιούν τον έλεγχο συμμόρφωσης με την πολιτική και την ανάπτυξη και διαμόρφωση εφαρμογών, αντίστοιχα. Η κορυφαία εμπορική προσφορά της εταιρείας, Chef Automate, συνδυάζει όλα αυτά τα κομμάτια μαζί.

Το Chef Automate παρέχει μια σειρά επιχειρηματικών δυνατοτήτων για ροή εργασίας, ορατότητα κόμβων και συμμόρφωση και ενσωματώνεται με τα προϊόντα ανοιχτού κώδικα Chef, InSpec και Habitat. Το Chef Automate διαθέτει υπηρεσίες υποστήριξης για ολόκληρη την πλατφόρμα, συμπεριλαμβανομένων των εξαρτημάτων ανοιχτού κώδικα. Εκτός από την παροχή προβολών σε λειτουργικά, συμμόρφωση και συμβάντα ροής εργασίας, περιλαμβάνει έναν αγωγό για συνεχή παράδοση υποδομής και εφαρμογών.

Στοιχεία και ροή εργασίας του σεφ

Ο σταθμός εργασίας Chef DK (κιτ ανάπτυξης) είναι όπου οι χρήστες αλληλεπιδρούν με τον Chef. Στους σταθμούς εργασίας οι συγγραφείς και τα βιβλία μαγειρικής δοκιμής χρησιμοποιούν εργαλεία όπως το Test Kitchen (για τη δημιουργία δοκιμαστικών VM) και αλληλεπιδρούν με το διακομιστή Chef χρησιμοποιώντας τα εργαλεία της γραμμής εντολών. Για παράδειγμα, το Knife είναι ένα εργαλείο γραμμής εντολών που παρέχει μια διεπαφή μεταξύ ενός τοπικού Chef repo και του διακομιστή Chef. Το Knife βοηθά τους χρήστες να διαχειρίζονται κόμβους, βιβλία μαγειρικής, σάκους δεδομένων και την εγκατάσταση (bootstrap) του πελάτη Chef σε κόμβους, μεταξύ άλλων εργασιών. Τα περισσότερα αρχεία σε ένα βιβλίο μαγειρικής Chef είναι γραμμένα σε Ruby, παρόλο που ορισμένες διαμορφώσεις είναι γραμμένες σε YAML.

Σεφ

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

Το Chef Supermarket είναι η τοποθεσία στην οποία κοινοποιούνται και διαχειρίζονται βιβλία μαγειρικής κοινότητας. Η κονσόλα διαχείρισης Chef, η αναφορά εκτέλεσης σεφ-πελάτη (πράκτορας), οι διαμορφώσεις υψηλής διαθεσιμότητας και η αναπαραγωγή διακομιστή Chef είναι διαθέσιμες ως μέρος του Chef Automate.

Το InSpec είναι ένα δωρεάν και ανοιχτού κώδικα πλαίσιο για τη δοκιμή και τον έλεγχο των εφαρμογών και της υποδομής σας. Είναι το θεμέλιο του τμήματος Συμμόρφωσης του Chef Automate. Ενσωματώνεται με το Puppet and Ansible καθώς και τον Chef.

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

Σεφ

Σεφ για devops, συμμόρφωση και cloud

Το Chef Automate βοηθά στην παροχή και ανάπτυξη εφαρμογών γρηγορότερα, πιο συχνά και πιο αξιόπιστα. Με άλλα λόγια, υποστηρίζει υπολογιστές. Αυτοματοποιεί επίσης τη συμμόρφωση μειώνοντας την κίνηση του διακομιστή, εντοπίζοντας παραβάσεις συμμόρφωσης και διορθώνοντας αυτόματα τυχόν προβλήματα. Το Chef Compliance, βασισμένο στο ανοιχτό λογισμικό InSpec, αποτελούσε ξεχωριστό προϊόν, αλλά τώρα αποτελεί μέρος του Chef Automate.

Το Cloud migration είναι μια από τις ενδιαφέρουσες περιπτώσεις χρήσης για τον Chef. Αυτό περιλαμβάνει AWS, Microsoft Azure, Google Cloud Platform, μικτές εφαρμογές και υβριδικά σύννεφα. Ένα άλλο σημαντικό σύνολο περιπτώσεων χρήσης είναι η διασφάλιση της συμμόρφωσης με τους PCI, HIPAA και άλλους κανονισμούς ασφάλειας και απορρήτου.

Όπως φαίνεται στο παρακάτω σχήμα, ένα από τα σημεία πώλησης του σεφ είναι ότι λειτουργεί με αυτό που έχετε. Αυτό περιλαμβάνει τα κύρια αποθετήρια με βάση το Git, συστήματα CI / CD, λειτουργικά συστήματα, σύννεφα και συστήματα ενορχήστρωσης κοντέινερ.

Σεφ

Εγκατάσταση και ρύθμιση του σεφ

Γενικά, μια εγκατάσταση του Chef Automate αποτελείται από τουλάχιστον δύο διακομιστές: έναν διακομιστή Chef (τουλάχιστον τέσσερις vCPU και 8 GB RAM), ο οποίος περιέχει τα βιβλία μαγειρικής και τα δεδομένα που χρησιμοποιούνται για τη δημιουργία, τη δοκιμή και την ανάπτυξη των στοιχείων σας στο Chef Automate και το δικό σας υποδομή και έναν διακομιστή Chef Automate (τουλάχιστον τέσσερις vCPU και 16 GB RAM), ο οποίος συντονίζει τη διαδικασία μετακίνησης μιας αλλαγής μέσω του αγωγού ροής εργασίας, καθώς και πληροφορίες και οπτικοποιήσεις σχετικά με το σύμπλεγμα Chef Automate.

Υπάρχουν δύο προαιρετικοί διακομιστές, ένας διακομιστής push jobs, ο οποίος χρησιμοποιείται για τη δημιουργία κόμβων υποδομής για δοκιμή ανάπτυξης και απαιτείται επίσης εάν χρησιμοποιείτε κόμβους build που βασίζονται σε εργασίες push ως μέρος της διαδικασίας δοκιμών και ανάπτυξης, και δρομείς ή κόμβους build (στο τουλάχιστον δύο vCPU και 4 GB RAM), οι οποίες εκτελούν το έργο εκτέλεσης εκδόσεων, δοκιμών και αναπτύξεων εκτός του Chef Automate και απαιτούνται μόνο όταν χρησιμοποιείτε τις δυνατότητες ροής εργασίας του Chef Automate.

Ξεκινάτε εγκαθιστώντας τον διακομιστή Chef, είτε αυτόνομος είτε σε διαμόρφωση υψηλής διαθεσιμότητας. Στη συνέχεια, δημιουργήστε έναν χρήστη και έναν οργανισμό για χρήση με το Chef Automate, χρησιμοποιώντας σεφ-διακομιστής-ctl εντολές. Προαιρετικά κάντε λήψη του κώδικα για και δημιουργήστε έναν διακομιστή push jobs και, στη συνέχεια, διαμορφώστε ξανά τον διακομιστή Chef χρησιμοποιώντας ξανά σεφ-διακομιστής-ctl εντολές.

Σε αυτό το σημείο μπορείτε να εγκαταστήσετε και να διαμορφώσετε το Chef Automate χρησιμοποιώντας σ.α.λ. ή dpkg. Εγκαταστήστε την άδειά σας και χρησιμοποιήστε αυτοματοποίηση-ctl εντολές για εκτέλεση ελέγχου πριν από την πτήση και της διαδικασίας ρύθμισης. Η εγκατάσταση θα σας ζητήσει να δημιουργήσετε έναν δρομέα για τη ροή εργασίας. Τέλος, μπορείτε να διαμορφώσετε τους κόμβους σας για τη συλλογή δεδομένων.

Το AWS OpsWorks for Chef Automate απλοποιεί τη διαδικασία εγκατάστασης σε μεγάλο βαθμό, υποθέτοντας ότι θέλετε να έχετε τους διακομιστές Automate και Chef σε AWS - μπορείτε να αναπτύξετε σε 10 λεπτά ή λιγότερο. Μπορείτε ακόμα να διαχειριστείτε τους κόμβους εσωτερικής εγκατάστασης από το OpsWorks, αν και το OpsWorks λάμπει όταν οι περισσότεροι από τους κόμβους σας βρίσκονται σε AWS, καθώς μπορεί να εγγράψει αυτόματα κόμβους σε ομάδες αυτόματης κλιμάκωσης.

Υπάρχει ένα αξιοπρεπές σεμινάριο για το AWS για να σας διδάξει για τους Chef, Chef Automate και OpsWorks, στο οποίο θα ρυθμίσετε τα πάντα και θα εκτελέσετε εργασίες αυτοματοποίησης βήμα προς βήμα. Το σεμινάριο διαρκεί λίγο περισσότερο από μια βασική ανάπτυξη, αλλά αξίζει να το κάνετε αν είστε νέος στο Chef.

Μπορείτε επίσης να εγκαταστήσετε το Chef Automate σε VM από το AWS Marketplace. Επιπλέον, ο Chef έχει ενσωματώσεις με το Google Cloud Platform, το Microsoft Azure Marketplace και το VMware.

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

Κόστος: Έργα ανοιχτού κώδικα (Chef, InSpec, Habitat κ.λπ.), δωρεάν. Chef Automate, $ 137 / κόμβος / έτος με τυπική υποστήριξη (12x5). AWS OpsWorks με Chef Automate, 0,0155 $ / κόμβο / ώρα. Φιλοξενούμενος σεφ, 72 $ / κόμβος / έτος.

Πλατφόρμα: Ο Chef Automate Server απαιτεί λειτουργικό σύστημα RHEL, SUSE ή Ubuntu. Εκτός από αυτά, το Chef Automate Job Runner υποστηρίζεται σε MacOS.

Το Chef Automate είναι συμβατό με τα λειτουργικά συστήματα VMware, CoreOS, Docker, Windows και Linux. τα σύννεφα Google, AWS, Azure, OpenStack και VMware. τα συστήματα ενορχήστρωσης εμπορευματοκιβωτίων Kubernetes, Docker Swarm και Mesosphere. Μια υπηρεσία Chef Automate που βασίζεται στο cloud είναι διαθέσιμη ως AWS OpsWorks για Chef Automate. Πρέπει να περιηγηθείτε στην αυτόματη κονσόλα με το Google Chrome. Το IE δεν υποστηρίζεται συγκεκριμένα.

Το Chef DK (κιτ ανάπτυξης) υποστηρίζεται εμπορικά σε MacOS 10.11, RHEL 6, SUSE 11, Ubuntu LTS, Windows 10 ή Windows Server 2012 και νεότερες εκδόσεις αυτών των λειτουργικών συστημάτων. Η υποστήριξη κοινότητας είναι διαθέσιμη για το Debian 7 και το Scientific Linux 6 και μεταγενέστερες εκδόσεις.