Krav
Terminologi
Serveroppsett
SaltStack master operasjoner
Lag din første formel
Kjører din første formel
Konklusjon
SaltStack er et python-basert konfigurasjonsadministrasjonsprogram som er optimalisert for automatisering av konfigurasjonsfiler, distribusjoner og alt annet under det programvaredefinerte datasenteremnet. I denne veiledningen vil du lære hvordan du kommer i gang med SaltStack, legger til de første nodene og skriver din første formel.
Krav
- Vultr-forekomst som kjører Ubuntu 17.04 (master)
- Vultr-forekomst som kjører Ubuntu 17.04 (minion)
Terminologi
SaltStack bruker noen få nøkkelord som representerer en bestemt enhet eller konfigurasjon, som forklart nedenfor:
Herre
Dette er hovedforekomsten som kobler til alle servere som er lagt til SaltStack "cluster", og kjører dermed også kommandoer/kommunikasjon til serverne dine.
Undersått
Serverne som legges til SaltStacken din kalles minions. Eventuelle handlinger utføres enten på én, en gruppe eller alle dine undersåtter.
Formel
En formel representerer en fil eller et sett med filer som introduserer minions hvilke kommandoer som bør utføres. Dette kan være installasjon av en enkelt applikasjon som nginxeller utrulling av konfigurasjonsfiler, etc.
Pilar
En søyle er en fil som lagrer informasjon relatert til en gruppe undersåtter eller en enkelt undersåtter. Som et eksempel kan du bruke denne typen fil for å lagre "Virtual-Hosts" for Nginx for en bestemt minion.
Serveroppsett
Herre
Først starter vi med å sette opp masteren for SaltStack-klyngen vår:
apt-get update
apt-get dist-upgrade
apt-get install salt-master
Som standard lytter ikke SaltStack-mesteren på noen grensesnitt, ettersom masteren vanligvis kommuniserer med undersåttene over det offentlige internett. Vi må gjøre en liten endring i konfigurasjonsfilen som finnes på /etc/salt/master:
# The address of the interface to bind to:
interface: 0.0.0.0
Etter at endringene er skrevet til filen, start mastertjenesten på nytt:
service salt-master restart
Undersått
Vi kan nå fortsette med å legge til vår første minion. Gå rett frem og installer de nødvendige pakkene:
apt-get update
apt-get dist-upgrade
apt-get install salt-minion
Deretter må vi gjøre en annen liten endring i minions SaltStack-konfigurasjon som kan finnes på /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>
Erstatt <master_server_ip>med IP-adressen til hovedserveren din som tidligere oppsett. Ideelt sett vil du imidlertid sette opp en DNS-post for dette, for å gjøre det enklere å endre hovedserveren.
Etterpå må vi starte minion-tjenesten på nytt for at endringene skal bli aktive:
service salt-minion restart
SaltStack master operasjoner
Vi har nå en fungerende master og minion satt opp, slik at vi direkte kan gå videre og jobbe med et lite sett med SaltStack-kommandoer på masteren.
Viser alle undersåtter
# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
Rejected Keys:
Merk: Vi har allerede fortalt minion hvilken masterserver den skal koble til. Derfor, hvis du har fulgt denne veiledningen, vil du allerede se minion under Unaccepted Keys:seksjonen.
Aksepterer en uakseptert minion
# salt-key -a <minion_id>
Godtar alle uaksepterte undersåtter
# salt-key -A
Fjerne en minion
# salt-key -d <minion_id>
Merk: <minion_id> representerer vanligvis UNIX-vertsnavnet til minion(ene) og lagres i /etc/salt/minion_idfilen på minion(ene).
Etter å ha lagt til minion til masteren, kan vi fortsette med å skrive vår første formel. Til å begynne med må vi lage mappen som lagrer formlene våre:
mkdir -p /srv/salt/
Lag mappen for vår første formel:
mkdir -p /srv/salt/nginx
I utgangspunktet lagres alle instruksjoner for en formel i init.slsfilen, for eksempel /srv/salt/nginx/init.sls. Siden det er en enorm mengde operasjoner som kan utføres gjennom en formel, vil vi skrive en liten formel som installerer Nginx:
nginx:
pkg:
- installed
Etter å ha skrevet inn i init.slsfilen som forklart ovenfor, kan vi gå videre og kjøre den:
salt '*' state.sls nginx
Merk: nginx representerer navnet på mappen vi tidligere har opprettet.
Konklusjon
SaltStack er en veldig god programvare for å automatisere alle slags konfigurasjonsfiler, tjenestedistribusjoner, innledende serverutrullinger og lignende. På grunn av det faktum at SaltStack er basert på Python, kan du enkelt legge til dine egne moduler også, hvis du er flytende i språket. Lykke til med automatisering!