saltstack:apache安裝以及主文件修改

遠程操作:

salt ‘*’  cmd.run  "uptime"



一 實例操作:


1 說明:yum安裝apache 並且在master端同步httpd.conf文件,而且當這個文件修改時重啓apache

2 結構目錄

[root@slave salt]# tree

.

├── apache

│   ├── apache.sls

│   └── httpd.conf

├── top.sls


top.sls:是salt的入口 執行的第一個文件

apache.sls:具體的操作寫在這裏

httpd.conf:需要同步到客戶端的apache主配置文件



[root@slave salt]# cat top.sls
base:                     ##base語法告訴Salt這是基礎配置文件
  '*':                    ## 被執行的對象 *表示所有的客戶端 可以在這單獨寫某一個客戶端的ID 如slave-142
    - apache.apache       ## 第一個apache是在/srv/salt/ 的目錄 第二個其實是apache.sls 但是這裏可以直接寫成apache
  'slave-142':            ## 單指一臺期機器
    - ntp.sls




[root@slave salt]# cat apache/apache.sls
apache:                                      ##ID標識 可以隨意取
  pkg:                                       ##安裝包管理
    - name: httpd                   
    - installed               ##執行安裝操作
  service:                                   ##服務管理
    - name: httpd                           
    - running                                ##保證上述的httpd服務啓動
    - reload: True                           ##觀察watch制定的文件 要是文件有修改 重啓
    - enable: True                           ##服務開啓啓動
    - watch:
       - file: /etc/httpd/conf/httpd.conf    ##客戶端的配置文件



/etc/httpd/conf/httpd.conf:            ##客戶端的配置文件
  file.managed:                        ##文件管理
    - source: salt://apache/httpd.conf  ##服務器端本地的文件和路徑  salt//這個配置在master中配置 默認是在/srv/salt/ 需要開啓注視
    - user: root
    - group: root
    - mode: 644
    - backup: minion                    ##執行操作前備份



執行操作:

由於之前我過操作 httpd已經成功安裝 這次測試的是修改了httpd.conf文件

[root@slave salt]# salt '*' state.highstate
68:
----------
          ID: apache
    Function: pkg.installed
        Name: httpd
      Result: True
     Comment: Package httpd is already installed
     Changes:  
----------
          ID: /etc/httpd/conf/httpd.conf
    Function: file.managed
      Result: True
     Comment: File /etc/httpd/conf/httpd.conf updated
     Changes:  
              ----------
              diff:
                  --- 
                  +++ 
                  @@ -1007,5 +1007,5 @@
                   #    ErrorLog logs/dummy-host.example.com-error_log
                   #    CustomLog logs/dummy-host.example.com-access_log common
                   #</VirtualHost>
                  -####hihi test###    修改的時候去掉了這行
                  -###test    #   修改的時候去掉了這行
                  +####20140414  test###  新添加行
                  +###test 2014   #新添加行
                       
----------
          ID: apache
    Function: service.running
        Name: httpd
      Result: True
     Comment: Service reloaded
     Changes:  
              ----------
              httpd:
                  True
Summary
------------
Succeeded: 3
Failed:    0
------------
Total:     3



當你在一個sls中寫有多個操作但是要只操作一個   salt '*' state.highstate exclude="[{'id':'httpd'}]"  -t 60

當不需要操作所有的客戶端 可以 salt 'slave-143'   state.highstate 只操作一臺機器

當只想操作一個sls文件  salt 'slave-143' state.sls  httpd  ##對143這個客戶端執行httpd.sls文件操作


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章