Erinevus lehekülje "Salt" redaktsioonide vahel
(→Kasutamine käsurealt) |
|||
(ei näidata sama kasutaja 9 vahepealset redaktsiooni) | |||
1. rida: | 1. rida: | ||
+ | ===Sissejuhatus=== | ||
+ | |||
+ | Salt on kahtlemata keerukama ülesehitusega kui ansible. Seega alguses on raske aru saada mis see pillar ja grain on ja kuidas neid valemeid mitut saiti (live|qa|pre|int|jne) silmas pidades võimalikult universaalselt kirjutada võiks. | ||
+ | |||
===Seadistus=== | ===Seadistus=== | ||
34. rida: | 38. rida: | ||
Salt '*' test.ping | Salt '*' test.ping | ||
+ | |||
+ | Seejuures * defineerib kõik minionid ja test.ping teatab minonidele kasutada test.ping funktsiooni | ||
Eeldefineeritud käivitusmoodulite (execution modules) kasutamine. | Eeldefineeritud käivitusmoodulite (execution modules) kasutamine. | ||
salt '*' cmd.run 'ls /' | salt '*' cmd.run 'ls /' | ||
+ | |||
+ | Paki installimine, seejuures on antud moodul piisavalt tark, et kasutada juba erineate opsusteemide sees sealseid vahendeid nagu yum redhatis, apt debianis jne | ||
+ | |||
+ | salt '*' pkg.install vim | ||
+ | |||
+ | Moodul mis näitab võruseadmeid ja nende ip aadresse | ||
+ | |||
+ | salt '*' network.interfaces | ||
Skriptid võib paigaldada nt /srv/salt ala ja käivitada neid | Skriptid võib paigaldada nt /srv/salt ala ja käivitada neid | ||
47. rida: | 61. rida: | ||
Võimalik on käivitada käske ka vaid kindla os-iga masinates nt | Võimalik on käivitada käske ka vaid kindla os-iga masinates nt | ||
− | salt -G 'os: | + | salt -G 'os:Debian' test.ping |
+ | |||
+ | küsib kõigilt debiani masinatelt kas nad on elus. Aga võimalikukd veelgi keerukamad kombinatsioonid | ||
+ | |||
+ | salt -G 'cpuarch:x86_64' grains.item num_cpus | ||
+ | |||
+ | Match all minions with 64-bit CPUs, and return number of CPU cores for each matching minion | ||
+ | |||
+ | ===State failid=== | ||
+ | |||
+ | SLS files ehk salt state failid on mõeldud minonide tetud seisu konfigureerimiseks. Suur posu valmis valemeid on ka githubis olemas aga päris 1:1 neid üle võtta alati pole mõtet. | ||
+ | |||
+ | Apache paigaldamiseks mõeldud fail | ||
+ | |||
+ | apache: | ||
+ | pkg.installed: [] | ||
+ | service.running: | ||
+ | - require: | ||
+ | - pkg: apache | ||
+ | |||
+ | Keerukam näide, mis lisaks paigaldamisele ka teeb apache esmase seadistuse | ||
+ | |||
+ | apache: | ||
+ | pkg.installed: [] | ||
+ | service.running: | ||
+ | - watch: | ||
+ | - pkg: apache | ||
+ | - file: /etc/httpd/conf/httpd.conf | ||
+ | - user: apache | ||
+ | user.present: | ||
+ | - uid: 87 | ||
+ | - gid: 87 | ||
+ | - home: /var/www/html | ||
+ | - shell: /bin/nologin | ||
+ | - require: | ||
+ | - group: apache | ||
+ | group.present: | ||
+ | - gid: 87 | ||
+ | - require: | ||
+ | - pkg: apache | ||
+ | |||
+ | /etc/httpd/conf/httpd.conf: | ||
+ | file.managed: | ||
+ | - source: salt://apache/httpd.conf | ||
+ | - user: root | ||
+ | - group: root | ||
+ | - mode: 644 | ||
+ | |||
+ | '''SLS templated''' | ||
+ | |||
+ | Salt api toe saab vajadusel ka oma rakendusse kirjutada ja pmst ise paranevaid asju tehaSent | ||
− | + | http://bencane.com/2014/12/30/building-self-healing-applications-with-salt-api/ | |
− | + | Oma "graine" saad lihtsalt pythonis teha | |
− | + | https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.grains.htmlja |
Viimane redaktsioon: 7. september 2017, kell 12:46
Sissejuhatus
Salt on kahtlemata keerukama ülesehitusega kui ansible. Seega alguses on raske aru saada mis see pillar ja grain on ja kuidas neid valemeid mitut saiti (live|qa|pre|int|jne) silmas pidades võimalikult universaalselt kirjutada võiks.
Seadistus
Serveri paigaldus ehk salt-master debianis/ubuntus paigaldub käsuga
apt-get install salt-master
Konfiguratsioon on /etc/salt/master. Minionide seadistusi otsib ta kaustast /srv/salt
Kliendi ehk salt-minioni paigaldus
Kõigis levinud opsüsteemides toimib paigalduseks järgmine üherealine käsk
wget -O - http://bootstarp.saltstack.org | sudo sh
Kliendi konfiguratsioon asub /etc/salt/minion Vaikimisi üritavad kõik minonid ühenduda masteriga, mille hostnameks on salt. Selleks,e t muuta master masina nime võib nt selle masina defineerida /etc/hosts abil
Minionid genereeriad käivitumisel omaneda võtmepaari ja saadavad avaliku võtme masterile.
Debianil/ubuntul paigaldab see skirpt lisaks sobiva apti repo
Master servers näeb võtmete nimekirja käsuga
salt-key -L
Võtmeid, mis ootavad autoriseerimist näeb ja saab aksepteerida
salt-key -A
Kasutamine käsurealt
Kõigi masinate kontroll
Salt '*' test.ping
Seejuures * defineerib kõik minionid ja test.ping teatab minonidele kasutada test.ping funktsiooni
Eeldefineeritud käivitusmoodulite (execution modules) kasutamine.
salt '*' cmd.run 'ls /'
Paki installimine, seejuures on antud moodul piisavalt tark, et kasutada juba erineate opsusteemide sees sealseid vahendeid nagu yum redhatis, apt debianis jne
salt '*' pkg.install vim
Moodul mis näitab võruseadmeid ja nende ip aadresse
salt '*' network.interfaces
Skriptid võib paigaldada nt /srv/salt ala ja käivitada neid
salt '*' cmd.script salt://mysript.sh
Salt kasutab enda failide hoidmiseks väikest failiserverit
Võimalik on käivitada käske ka vaid kindla os-iga masinates nt
salt -G 'os:Debian' test.ping
küsib kõigilt debiani masinatelt kas nad on elus. Aga võimalikukd veelgi keerukamad kombinatsioonid
salt -G 'cpuarch:x86_64' grains.item num_cpus
Match all minions with 64-bit CPUs, and return number of CPU cores for each matching minion
State failid
SLS files ehk salt state failid on mõeldud minonide tetud seisu konfigureerimiseks. Suur posu valmis valemeid on ka githubis olemas aga päris 1:1 neid üle võtta alati pole mõtet.
Apache paigaldamiseks mõeldud fail
apache: pkg.installed: [] service.running: - require: - pkg: apache
Keerukam näide, mis lisaks paigaldamisele ka teeb apache esmase seadistuse
apache: pkg.installed: [] service.running: - watch: - pkg: apache - file: /etc/httpd/conf/httpd.conf - user: apache user.present: - uid: 87 - gid: 87 - home: /var/www/html - shell: /bin/nologin - require: - group: apache group.present: - gid: 87 - require: - pkg: apache /etc/httpd/conf/httpd.conf: file.managed: - source: salt://apache/httpd.conf - user: root - group: root - mode: 644
SLS templated
Salt api toe saab vajadusel ka oma rakendusse kirjutada ja pmst ise paranevaid asju tehaSent
http://bencane.com/2014/12/30/building-self-healing-applications-with-salt-api/
Oma "graine" saad lihtsalt pythonis teha
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.grains.htmlja