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.