SaltStack: Difference between revisions
Line 141: | Line 141: | ||
- /salt/states/base | - /salt/states/base | ||
Ei ole kõik "states" on samasugused, vahepeal te soovite et pakid oleksid konfigureeritud | Ei ole kõik "states" on samasugused, vahepeal te soovite et pakid oleksid konfigureeritud ühtemoodi arenduses and ja teismoodi tootmises. Kuigi ma ei avalda sellest artiklis te võite teha selle kasutades salt-i "environments" konfiguratsiooni. | ||
Igal salt masteril peab olema "base environment", see on | Igal salt masteril peab olema "base environment", see on kasutatud et hoida top.sls fail mis defineerib mis salt-i "state"-id rakendub teatud minions-ide vastu.Samuti "base environment" samuti kasutatakse üldiselt "stati"-de jaoks mis rakenduvad kõikidele süsteemidele. | ||
Näiteks, | Näiteks, mulle meeldib "screen" käsk ja ma tahan et ta oleks installitud kõikide masinate peal mis ma haldan. Selleks et seda teha ma lisan "screen state" "base environment"-i juurde. | ||
Selleks et lisada "enviroments" need on vaja lihtsalt lisada file_roots konfiguratsionisse. | Selleks et lisada "enviroments" need on vaja lihtsalt lisada file_roots konfiguratsionisse. |
Revision as of 20:45, 13 January 2014
Autor:Vjatšeslav Jertsalov
Kuupäev:11.01.2014
Rühm:A32
Sissejuhatus
Mis on SaltStack ja milleks seda kasutada?
SaltStack(edasi lihtsalt Salt)lubab uut lähenemist suurte infrastuktuuride administreerimiseks.Piisavalt lihtne et paigaldada loetud minutitega,piisavalt skaleeruv et hallata kümneid tuhandeid servereid ja piisavalt kiire et suhelda nendega sekunditega.
Selles süsteemis võib eraldada järgmised võtme võimalused:
- Teenuste konfiguratsiooni haldus mitme serverite peal üheaegselt
- Kaugelt käskude täitmist mitme serverite peal üheaegselt
- Realajas informatsiooni saamine keskkonnast
- SQL/NoSQL andmebaasidega ühenduse võimalus konfiguratsioni salvestamiseks või saamiseks,käskude taitmise tulemuste ja muu info salvestamiseks
- Seadistamise ja kasutamise lihtsus
- Põhi serverite platformide toetus(Linux/Windows)
- Ta on kirjutatud Python programeerimis keeles,mis idealselt selleks sobib.
Salt arhitektuur on väga lihtne - on olemas üks(või grupp) Salt master node-id,mille külge ühendavad Salt minion-id mis on paidaldatud teie kõikide serverite peal.Kui teile vaja natuke edasijõudnud fuktsionaalsuse siis teile läheb vaja installerida Salt syndic pakki.
Töö eesmärk
Teha läbi praktiliselt ja kirjutada juhendid kuidas installerida,seadistada ja kasutada SaltStack-i konfiguratsiooni haldamis süsteemi mis võiks olla alternatiiviks sellistele tarkvaradele nagu Puppet,Chef,CFEngine.
Labori ülesanne püstitus
Installerida SaltStack-master Ubuntu Serveri peale ja SaltStack-minion installerida Ubuntu Desktop-i peale.Konfigureerida neid et nad saaksid ühendust omavahel.Seejärel SaltStack-masteri kaudu käivitada skripti et paigaldada mingi programmi või packgage-i SaltStack-minion-i peale.
NB! Selles laboris ma ei paigalda Salt syndic ja ei kirjuta kuidas seda paigaldada ja seadistada.Lisainfo http://docs.saltstack.com/ref/syndic.html
Põnimõisted
Salt master - See on keskne server mille külge on ühendatud kõik Salt minion-id.Käsud käivitatakse Salt minionide peal ja Salt master-i kaudu ja Salt minion-id tagastavad andmed tagasi salt-masterile(kui ei ole ümbersuunatud returner-iga).Ta on käivitatud salt-master programmiga.
Salt minion - on potentsiaalseid sajad tuhanded serverid mis võivad olla päritud ja kontrollitud Salt masteri poolt.
Labori keskkond
Salt master - Ubuntu Server 12.04 LTS 64 bit.
2 adapterid:
eth0 NAT adress 10.0.2.15
eth1 Host-Only address 192.168.56.200
Salt minion - Ubuntu Desktop 13.04 64 bit
2 adapterid:
eth0 NAT adress 10.0.2.15
eth1 Host-Only address 192.168.56.101
Salt Installeerimine
Viimased Salt Stack pakid on saadaval PPA-s.
Järgmised sammud näitavad kuidas lisada PPA ja installerida Salt Stack pakid:
sudo apt-get install python-software-properties sudo add-apt-repository -y ppa:saltstack/salt
Altenatiiviks,ku eelnevad käsud ei toimi,käsitsi lisa repositooriumi ja importi PPA võti järgmiste käskudega:
echo deb http://ppa.launchpad.net/saltstack/salt/ubuntu `lsb_release -sc` main | sudo tee /etc/apt/sources.list.d/saltstack.list
wget -q -O- "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x4759FA960E27C0A6" | sudo apt-key add -
NB! Samad käsud tuleb käivitada Serveri peal kus me tahame paigaldada Salt masteri ja Serveri peal kuhu tahame paigaldada Salt minioni.
Nüüd oleme valmis installerima Salt pakid.
Salt master pakki installerimine
Salt masteri pakki me installerime Ubuntu Server 12.04 LTS peale.
Selleks käivitame käsu:
sudo apt-get install salt-master
Salt minion pakki installerimine
Salt masteri pakki me installerime Ubuntu Desktop 13.04 peale.
Selleks käivitame käsu:
sudo apt-get install salt-minion
Salt konfigureerimine
Kõik configuratsiooni failid on paigaldatud /etc/salt kaustas ja nimetatud nagu vastavat komponendid, /etc/salt/master ja /etc/salt/minion.
Salt masteri konfigureerimine
Selleks et konfigureerida Salt-master meil on vaja muuta /etc/salt/master konfiguratsiooni faili:
sudo nano /etc/salt/master
Vaikimisel Salt kuulab portidel 4505 ja 4506 kõikide kasutajaliideste peal (0.0.0.0). Selleks et siduda Salt teatud IP-ga, tuleb /etc/salt/master faili muuta järgnevalt:
Leia:
# The address of the interface to bind to #interface: 0.0.0.0
Asenda järgnevalt:
# The address of the interface to bind to interface: teie_ip_aadres
Mina asendasin oma Salt masteri Serveri ip aadressiga 192.168.56.200
Stati-de file_root kausta seadistamine
Kõik salt-i poliisid või "states" peavad kuskil elama. Ja file_roots kaust on koht kus "states" asuvad diski peal.Selle artikli jaoks me paneme kõike /salt/states/base kausta.
Leia:
#file_roots: #base: #- /srv/salt
Asenda järgnevalt:
file_roots: base: - /salt/states/base
Ei ole kõik "states" on samasugused, vahepeal te soovite et pakid oleksid konfigureeritud ühtemoodi arenduses and ja teismoodi tootmises. Kuigi ma ei avalda sellest artiklis te võite teha selle kasutades salt-i "environments" konfiguratsiooni.
Igal salt masteril peab olema "base environment", see on kasutatud et hoida top.sls fail mis defineerib mis salt-i "state"-id rakendub teatud minions-ide vastu.Samuti "base environment" samuti kasutatakse üldiselt "stati"-de jaoks mis rakenduvad kõikidele süsteemidele.
Näiteks, mulle meeldib "screen" käsk ja ma tahan et ta oleks installitud kõikide masinate peal mis ma haldan. Selleks et seda teha ma lisan "screen state" "base environment"-i juurde.
Selleks et lisada "enviroments" need on vaja lihtsalt lisada file_roots konfiguratsionisse.
file_roots: base: - /salt/states/base development: - /salt/states/dev
Adding the development environment:
Kasutatud kirjandus
http://blog.niyakiy.com/2013/11/saltstack.html
http://sc0rp1us.blogspot.com/2013/04/saltstack.html
http://docs.saltstack.com/topics/configuration.html
http://ubuntu-tutorials.com/2013/03/01/install-salt-stack-on-ubuntu-lts/
http://docs.saltstack.com/topics/installation/ubuntu.html