1. 主機規劃 遠程執行教程文檔 所有模塊文檔 模塊在機器上存在的位置 註意事項 2. 使用格式 2.1. 指定目標 上一篇文章詳細說過,這裡簡單說下 2.2. 指定執行模塊 2.3. 執行參數 3. 使用示例 3.1. network 3.2. service 3.3. cp【可使用Salt-cp ...
1. 主機規劃
遠程執行教程文檔
https://docs.saltstack.com/en/latest/topics/tutorials/modules.html
所有模塊文檔
https://docs.saltstack.com/en/latest/ref/modules/all/index.html#all-salt-modules
模塊在機器上存在的位置
1 [root@salt100 modules]# pwd 2 /usr/lib/python2.7/site-packages/salt/modules 3 [root@salt100 modules]# ll network.py 4 -rw-r--r-- 1 root root 56636 Oct 8 23:56 network.py
註意事項
修改了master或者minion的配置文件,那麼必須重啟對應的服務。
2. 使用格式
1 # salt調用包括三個主要組成部分: 2 salt '<target>' <function> [arguments]
2.1. 指定目標
上一篇文章詳細說過,這裡簡單說下
1 # target組件允許你過濾minion運行以下功能。預設的是minion ID,如下: 2 salt '*' test.ping 3 salt '*.example.org' test.ping 4 5 # 也可以使用grains: 6 salt -G 'os:Ubuntu' test.ping 7 8 # 也可以使用正則表達式: 9 salt -E 'virtmach[0-9]' test.ping 10 11 # 也可以使用列表: 12 salt -L 'foo,bar,baz,quo' test.ping 13 14 # 或者多個目標類型可以使用複合指定: 15 salt -C 'G@os:Ubuntu and webser* or E@database.*' test.ping
2.2. 指定執行模塊
1 # function是由模塊提供的一些功能。Salt中有大量可用functions。列出所有可用的functions如下: 2 salt '*' sys.doc 3 4 # 一些例子如下: 5 # 顯示當前所有可用的 minion 6 salt '*' test.ping 7 8 # 運行隨意的shell命令: 9 salt '*' cmd.run 'uname -a'
2.3. 執行參數
1 # 使用空格作為分隔符 2 salt '*' cmd.exec_code python 'import sys; print sys.version' 3 4 # 可選的,關鍵字參數也被支持: 5 salt '*' pip.install salt timeout=5 upgrade=True 6 # 改格式為: kwarg=argument
3. 使用示例
3.1. network
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.network.html#module-salt.modules.network
3.2. service
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.rh_service.html#module-salt.modules.rh_service
3.3. cp【可使用Salt-cp代替】
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.cp.html#module-salt.modules.cp
另請參考:saltstack cp模塊使用
基本解釋:
1 salt根目錄:在master中 file_roots 定義的路徑 2 例如:假設在master中有如下定義: 3 file_roots: 4 base: 5 - /srv/salt 6 7 那麼:salt://vimrc指的實際路徑是:/srv/salt/vimrc,這樣做的好處是,可以滿足state系統中環境的概念。
示例:
1 [root@salt100 other]# pwd 2 /srv/salt/other 3 [root@salt100 other]# ll /srv/salt/other/hosts 4 -rw-r--r-- 1 root root 276 Nov 25 17:59 /srv/salt/other/hosts 5 [root@salt100 other]# salt -L 'salt01,salt02' test.ping 6 salt01: 7 True 8 salt02: 9 True 10 [root@salt100 other]# salt -L 'salt01,salt02' cp.get_file salt://other/hosts /tmp/hehe # 使用cp模塊,拷貝到指定 minion
salt-cp使用
salt-cp -L 'salt01,salt02' /etc/hosts /tmp/kkk # 使用 salt-cp 拷貝【建議使用,方便一些】
3.4. state
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#module-salt.modules.state