SaltStack - Çalışma Örneği
Bu çalışan örnekte, apache web sunucusunu PHP yazılımı ile birlikte yapılandıracak bir Salt formülü oluşturacağız. Salt, geçici komutları yürütmenin harika bir yoludur, ancak altyapınızı bu şekilde sürekli olarak yapılandırmak istemezsiniz. Bir dizi Salt formülü oluşturarak, herhangi bir yapılandırmayı güvenilir bir şekilde yeniden oluşturabilirsiniz.
Tuz Formülleri basit YAML metin dosyalarıdır ve varsayılan olarak Salt Master cihazınızda /srv/salt/*. Apache web sunucusunu ve PHP'yi aynı anda kurmak için bir Tuz Formülü oluşturarak başlayalım.
Altında "websetup.sls" adlı bir dosya oluşturun /srv/salt/ dizin ve aşağıdaki kodu ekleyin.
websetup.sls
websetup:
pkg:
- installed
- pkgs:
- apache2
- php5
- php5-mysql
Bu örnekte, “- pkgs:” argümanına dikkat edin. Aşağıdaki “- pkgs:” listesindeki her öğe, birlikte yüklenmek üzere işletim sisteminin paket yöneticisine birlikte iletilecektir. Yüklemek için geniş bir paket listeniz olduğunda, bunları kurmanın en verimli yolu budur.
Aşağıdaki komutu kullanarak bu Formülü Tuz master'a uygulayın.
root@saltmaster:/home/vagrant# salt 'minion2' state.sls websetup
Şimdi şunu göreceksiniz 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
Şimdi, paketleri şuraya yüklediniz: minion2.
Highstate
"Yüksek durum", Salt'ın belirli bir minyona Tuz Formüllerinden hangisinin uygulanması gerektiğini belirlemesinin bir yoludur. Aşağıdaki komutu kullanarak bir "yüksek durum" gerçekleştirin.
root@saltmaster:/home/vagrant# salt <targets> state.highstate
top.sls
Minion, daha önce de belirtildiği gibi, bir üst düzey yürütme isteğinde bulunduğunda, minyon, Tuz ustasından top.sls'yi ister ve eşleştiği formülleri arar. Varsayılan olarak, bu dosya /srv/salt/top.sls adresinde bulunur. Formülümüzü top.sls dosyasına ekleyelim ve minion2'yi hedef olarak ayarlayalım.
base:
'*':
- common
'minion2’:
- websetup
Şimdi, highstate minion2'yi hedefleyen aşağıda gösterildiği gibi.
root@saltmaster:/home/vagrant# salt 'minion2' state.highstate
Bunu uyguladıktan sonra aşağıdakileri görebilirsiniz 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
Şimdi, Apache web sunucusu ve PHP minion2'ye yüklenmiştir. Bu şekilde, her ikisini de kullanarak minyonları hedeflemeliyiztop.sls ve highstate ve gerekli yazılımı minimum çalışma ve maksimum esneklikle yükleyin.