SaltStack - przykład roboczy
W tym przykładzie roboczym utworzymy formułę Salt, która skonfiguruje serwer WWW Apache wraz z oprogramowaniem PHP. Sól to świetny sposób wykonywania poleceń ad-hoc, ale tak naprawdę nie chcesz ciągle konfigurować infrastruktury w ten sposób. Tworząc zestaw formuł soli, możesz niezawodnie odtworzyć dowolną konfigurację.
Formuły soli są prostymi plikami tekstowymi YAML i domyślnie znajdują się w twoim Salt Master w formacie /srv/salt/*. Zacznijmy od stworzenia Formuły soli, aby zainstalować serwer WWW Apache i PHP w tym samym czasie.
Utwórz plik o nazwie „websetup.sls” w obszarze /srv/salt/ katalog i dodaj następujący kod.
websetup.sls
websetup:
pkg:
- installed
- pkgs:
- apache2
- php5
- php5-mysql
W tym przykładzie zwróć uwagę na argument „- pkgs:”. Każda pozycja na liście poniżej „- pkgs:” zostanie przekazana razem do menedżera pakietów systemu operacyjnego w celu zainstalowania razem. Jeśli masz dużą listę pakietów do zainstalowania, jest to najbardziej efektywny sposób ich zainstalowania.
Zastosuj tę formułę do wzorca soli za pomocą następującego polecenia.
root@saltmaster:/home/vagrant# salt 'minion2' state.sls websetup
Teraz zobaczysz następujące informacje output -
minion2:
----------
ID: websetup
Function: pkg.installed
Result: True
Comment: 3 targeted packages were installed/updated.
Started: 01:50:53.978396
Duration: 86738.132 ms
Changes:
----------
apache2:
----------
new:
2.4.7-1ubuntu4.13
old:
apache2-api-20120211:
----------
new:
1
old:
apache2-bin:
----------
new:
2.4.7-1ubuntu4.13
old:
apache2-data:
----------
new:
2.4.7-1ubuntu4.13
old:
libapache2-mod-php5:
----------
new:
5.5.9+dfsg-1ubuntu4.21
old:
libapr1:
----------
new:
1.5.0-1
old:
libaprutil1:
----------
new:
1.5.3-1
old:
libaprutil1-dbd-sqlite3:
----------
new:
1.5.3-1
old:
libaprutil1-ldap:
----------
new:
1.5.3-1
old:
php5:
----------
new:
5.5.9+dfsg-1ubuntu4.21
old:
php5-cli:
----------
new:
5.5.9+dfsg-1ubuntu4.21
old:
php5-common:
----------
new:
5.5.9+dfsg-1ubuntu4.21
old:
php5-json:
----------
new:
1.3.2-2build1
old:
php5-mhash:
----------
new:
1
old:
php5-mysql:
----------
new:
5.5.9+dfsg-1ubuntu4.21
old:
php5-readline:
----------
new:
5.5.9+dfsg-1ubuntu4.21
old:
phpapi-20121212:
----------
new:
1
old:
ssl-cert:
----------
new:
1.0.33
old:
Summary for minion2
------------
Succeeded: 1 (changed = 1)
Failed: 0
------------
Total states run: 1
Total run time: 86.738 s
Teraz masz zainstalowane pakiety w minion2.
Highstate
„Wysoki stan” to sposób na określenie przez Sól, które formuły soli powinny być zastosowane do określonego stronnika. Wykonaj „wysoki stan” za pomocą następującego polecenia.
root@saltmaster:/home/vagrant# salt <targets> state.highstate
top.sls
Kiedy stronnik żąda wykonania highstate, jak wspomniano wcześniej, stronnik żąda top.sls od mistrza soli i szuka formuł, które pasuje. Domyślnie ten plik znajduje się w /srv/salt/top.sls. Dodajmy naszą formułę do pliku top.sls i ustawmy minion2 jako cel.
base:
'*':
- common
'minion2’:
- websetup
Teraz wykonaj highstate celowanie w minion2, jak pokazano poniżej.
root@saltmaster:/home/vagrant# salt 'minion2' state.highstate
Po zastosowaniu tego możesz zobaczyć następujące output -
minion2:
----------
ID: common_packages
Function: pkg.installed
Result: True
Comment: All specified packages are already installed
Started: 01:55:17.998824
Duration: 461.615 ms
Changes:
Summary for minion2
------------
Succeeded: 1
Failed: 0
------------
Total states run: 1
Total run time: 461.615 ms
Teraz serwer WWW Apache i PHP są zainstalowane w minion2. W ten sposób musimy celować w stwory używające obutop.sls i highstate i zainstaluj wymagane oprogramowanie przy minimalnej pracy i maksymalnej elastyczności.