Requisits
Terminologia
Configuració del servidor
Operacions mestres de SaltStack
Creant la teva primera fórmula
Executant la teva primera fórmula
Conclusió
SaltStack és un programa de gestió de configuracions basat en Python que està optimitzat per a l'automatització de fitxers de configuració, desplegaments i qualsevol altra cosa sota el tema del centre de dades definit per programari. En aquesta guia, aprendràs a començar amb SaltStack, afegint els teus primers nodes i escrivint la teva primera fórmula.
Requisits
- Instància Vultr amb Ubuntu 17.04 (master)
- Instància Vultr amb Ubuntu 17.04 (minion)
Terminologia
SaltStack utilitza algunes paraules clau que representen un dispositiu o una configuració en particular, tal com s'explica a continuació:
Mestre
Aquesta és la instància mestra que es connecta a tots els servidors afegits al vostre "clúster" de SaltStack, per tant executant també qualsevol ordre/comunicació als vostres servidors.
Minion
Els servidors que s'afegeixen al vostre SaltStack s'anomenen minions. Qualsevol acció es realitza sobre un, un grup o tots els vostres sequaços.
Fórmula
Una fórmula representa un fitxer o un conjunt de fitxers que introdueixen als minions les ordres que s'han de realitzar. Això pot ser la instal·lació d'una única aplicació, com ara el nginxdesplegament de fitxers de configuració, etc.
Pilar
Un pilar és un fitxer que emmagatzema informació relacionada amb un grup de súbditos o un únic súbdito. Com a exemple, utilitzaríeu aquest tipus de fitxer per emmagatzemar els "Virtual-Hosts" per a Nginx per a un minion en particular.
Configuració del servidor
Mestre
Primer, començarem per configurar el mestre per al nostre clúster SaltStack:
apt-get update
apt-get dist-upgrade
apt-get install salt-master
De manera predeterminada, el mestre SaltStack no escolta a cap interfície, ja que el mestre normalment es comunica amb els minions a través d'Internet pública. Hem de fer un petit canvi al fitxer de configuració que es pot trobar a /etc/salt/master:
# The address of the interface to bind to:
interface: 0.0.0.0
Després d'escriure els canvis al fitxer, reinicieu el servei mestre:
service salt-master restart
Minion
Ara podem continuar afegint el nostre primer esbirro. Seguiu endavant i instal·leu els paquets necessaris:
apt-get update
apt-get dist-upgrade
apt-get install salt-minion
A continuació, hem de fer un altre petit canvi a la configuració de SaltStack del minion que es pot trobar a /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>
Substituïu <master_server_ip>-la per l'adreça IP del vostre servidor mestre tal com s'ha configurat anteriorment. L'ideal és que configureu un registre DNS per a això, per tal de facilitar el canvi del servidor mestre.
Després, hem de reiniciar el servei minion perquè els canvis s'activin:
service salt-minion restart
Operacions mestres de SaltStack
Ara tenim un mestre i un minion configurats, de manera que podem continuar directament i treballar amb un petit conjunt d'ordres de SaltStack al mestre.
Mostrant tots els minions
# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
Rejected Keys:
Nota: ja li hem dit al minion a quin servidor mestre s'ha de connectar. Per tant, si heu seguit aquesta guia, ja veureu el minion a la Unaccepted Keys:secció.
Acceptant un esbirro no acceptat
# salt-key -a <minion_id>
Acceptant tots els esbirros no acceptats
# salt-key -A
Eliminació d'un esbirro
# salt-key -d <minion_id>
Nota: <minion_id> normalment representa el nom d'amfitrió UNIX dels vostres súbditos i s'emmagatzema al /etc/salt/minion_idfitxer dels súbditos.
Després d'afegir el nostre esbirro al mestre, podem continuar escrivint la nostra primera fórmula. Inicialment, hem de crear la carpeta que emmagatzema les nostres fórmules:
mkdir -p /srv/salt/
Creeu la carpeta per a la nostra primera fórmula:
mkdir -p /srv/salt/nginx
Bàsicament, totes les instruccions per a una fórmula s'emmagatzemen al init.slsfitxer, per exemple, /srv/salt/nginx/init.sls. Com que hi ha una immensa quantitat d'operacions que es poden realitzar mitjançant una fórmula, escriurem una petita fórmula que instal·la Nginx:
nginx:
pkg:
- installed
Després d'escriure al init.slsfitxer tal com s'ha explicat anteriorment, podem continuar i executar-lo:
salt '*' state.sls nginx
Nota: nginx representa el nom de la carpeta que hem creat prèviament.
Conclusió
SaltStack és un programari molt bo per automatitzar qualsevol tipus de fitxers de configuració, desplegaments de serveis, llançaments inicials de servidors i similars. A causa del fet que SaltStack està basat en Python, també podeu afegir fàcilment els vostres mòduls, si teniu fluïdesa amb l'idioma. Feliç automatització!