Απαιτήσεις
Ορολογία
Ρύθμιση διακομιστή
Κύριες λειτουργίες SaltStack
Δημιουργώντας την πρώτη σας φόρμουλα
Εκτελώντας την πρώτη σας φόρμουλα
συμπέρασμα
Το SaltStack είναι ένα πρόγραμμα διαχείρισης ρυθμίσεων που βασίζεται σε python, το οποίο είναι βελτιστοποιημένο για την αυτοματοποίηση αρχείων διαμόρφωσης, αναπτύξεων και οτιδήποτε άλλο στο θέμα του κέντρου δεδομένων που καθορίζεται από το λογισμικό. Σε αυτόν τον οδηγό, θα μάθετε πώς να ξεκινήσετε με το SaltStack, προσθέτοντας τους πρώτους σας κόμβους και γράφοντας τον πρώτο σας τύπο.
Απαιτήσεις
- Παράδειγμα Vultr που εκτελεί το Ubuntu 17.04 (κύριο)
- Παράδειγμα Vultr που τρέχει το Ubuntu 17.04 (minion)
Ορολογία
Το SaltStack χρησιμοποιεί μερικές λέξεις-κλειδιά που αντιπροσωπεύουν μια συγκεκριμένη συσκευή ή διαμόρφωση, όπως εξηγείται παρακάτω:
Κύριος
Αυτή είναι η κύρια παρουσία που συνδέεται με όλους τους διακομιστές που έχουν προστεθεί στο "cluster" του SaltStack, εκτελώντας έτσι επίσης τυχόν εντολές / επικοινωνία με τους διακομιστές σας.
Τσιράκι
Οι διακομιστές που προστίθενται στο SaltStack σας ονομάζονται minions. Οποιεσδήποτε ενέργειες εκτελούνται είτε σε ένα, σε μια ομάδα ή σε όλα τα τσιράκια σας.
Τύπος
Ένας τύπος αντιπροσωπεύει ένα αρχείο ή ένα σύνολο αρχείων που εισάγει τα minions ποιες εντολές πρέπει να εκτελεστούν. Αυτό μπορεί να είναι η εγκατάσταση μιας μεμονωμένης εφαρμογής, όπως nginxή η κυκλοφορία αρχείων διαμόρφωσης κ.λπ.
Κολόνα
Ένα pillar είναι ένα αρχείο που αποθηκεύει πληροφορίες που σχετίζονται με μια ομάδα από minion ή ένα μεμονωμένο minion. Για παράδειγμα, θα χρησιμοποιούσατε αυτό το είδος αρχείου για την αποθήκευση των "Virtual-Hosts" για το Nginx για ένα συγκεκριμένο minion.
Ρύθμιση διακομιστή
Κύριος
Αρχικά, θα ξεκινήσουμε με τη ρύθμιση του master για το σύμπλεγμα SaltStack:
apt-get update
apt-get dist-upgrade
apt-get install salt-master
Από προεπιλογή, ο κύριος SaltStack δεν ακούει σε καμία διεπαφή, καθώς ο κύριος συνήθως επικοινωνεί με τα minions μέσω του δημόσιου διαδικτύου. Πρέπει να κάνουμε μια μικρή αλλαγή στο αρχείο ρυθμίσεων που βρίσκεται στη διεύθυνση /etc/salt/master:
# The address of the interface to bind to:
interface: 0.0.0.0
Αφού εγγραφούν οι αλλαγές στο αρχείο, επανεκκινήστε την κύρια υπηρεσία:
service salt-master restart
Τσιράκι
Μπορούμε τώρα να προχωρήσουμε με την προσθήκη του πρώτου μας μινιόν. Προχωρήστε ευθεία και εγκαταστήστε τα απαιτούμενα πακέτα:
apt-get update
apt-get dist-upgrade
apt-get install salt-minion
Στη συνέχεια, πρέπει να κάνουμε άλλη μια μικρή αλλαγή στη διαμόρφωση SaltStack του minion που βρίσκεται στη διεύθυνση /etc/salt/minion:
# Set the location of the salt master server. If the master server cannot be
# resolved, then the minion will fail to start.
master: <master_server_ip>
Αντικαταστήστε <master_server_ip>με τη διεύθυνση IP του κύριου διακομιστή σας όπως είχε ρυθμιστεί νωρίτερα. Στην ιδανική περίπτωση, θα ρυθμίζατε μια εγγραφή DNS για αυτό, προκειμένου να διευκολύνετε την αλλαγή του κύριου διακομιστή.
Στη συνέχεια, πρέπει να επανεκκινήσουμε την υπηρεσία minion για να ενεργοποιηθούν οι αλλαγές:
service salt-minion restart
Κύριες λειτουργίες SaltStack
Τώρα έχουμε ρυθμίσει ένα λειτουργικό master και minion, ώστε να μπορούμε να συνεχίσουμε απευθείας και να εργαστούμε με ένα μικρό σύνολο εντολών SaltStack στο master.
Εμφάνιση όλων των minions
# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
Rejected Keys:
Σημείωση: Έχουμε ήδη πει στο minion με ποιον κύριο διακομιστή πρέπει να συνδεθεί. Επομένως, εάν έχετε ακολουθήσει αυτόν τον οδηγό, θα βλέπετε ήδη το minion κάτω από την Unaccepted Keys:ενότητα.
Αποδοχή ενός απαράδεκτου μινιόν
# salt-key -a <minion_id>
Αποδοχή όλων των μη αποδεκτών μινιόν
# salt-key -A
Αφαίρεση ενός μινιόν
# salt-key -d <minion_id>
Σημείωση: <minion_id> συνήθως αντιπροσωπεύει το όνομα κεντρικού υπολογιστή UNIX των minion(ων) σας και αποθηκεύεται στο /etc/salt/minion_idαρχείο στα minion(α).
Αφού προσθέσουμε το minion μας στο master, μπορούμε να συνεχίσουμε να γράφουμε την πρώτη μας φόρμουλα. Αρχικά, πρέπει να δημιουργήσουμε το φάκελο που αποθηκεύει τους τύπους μας:
mkdir -p /srv/salt/
Δημιουργήστε το φάκελο για τον πρώτο μας τύπο:
mkdir -p /srv/salt/nginx
Βασικά, οποιεσδήποτε οδηγίες για έναν τύπο αποθηκεύονται στο init.slsαρχείο, για παράδειγμα, /srv/salt/nginx/init.sls. Καθώς υπάρχει ένας τεράστιος αριθμός λειτουργιών που μπορούν να εκτελεστούν μέσω ενός τύπου, θα γράψουμε έναν μικρό τύπο που εγκαθιστά το Nginx:
nginx:
pkg:
- installed
Αφού γράψουμε στο init.slsαρχείο όπως εξηγήθηκε παραπάνω, μπορούμε να προχωρήσουμε και να το εκτελέσουμε:
salt '*' state.sls nginx
Σημείωση: nginx αντιπροσωπεύει το όνομα του φακέλου που δημιουργήσαμε προηγουμένως.
συμπέρασμα
Το SaltStack είναι ένα πολύ καλό λογισμικό για την αυτοματοποίηση οποιουδήποτε είδους αρχείων διαμόρφωσης, αναπτύξεις υπηρεσιών, αρχικές εκδόσεις διακομιστή και παρόμοια. Λόγω του γεγονότος ότι το SaltStack βασίζεται στην Python, μπορείτε εύκολα να προσθέσετε και τα δικά σας modules, εάν μιλάτε άπταιστα με τη γλώσσα. Καλή αυτοματοποίηση!