Saltstack_使用指南07_遠程執行-執行模塊

 

1. 主機規劃

 

遠程執行教程文檔html

https://docs.saltstack.com/en/latest/topics/tutorials/modules.html

 

全部模塊文檔python

https://docs.saltstack.com/en/latest/ref/modules/all/index.html#all-salt-modules

 

模塊在機器上存在的位置web

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. 指定目標

上一篇文章詳細說過,這裏簡單說下shell

 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模塊使用vim

 

基本解釋:spa

1 salt根目錄:在master中 file_roots 定義的路徑 
2 例如:假設在master中有以下定義: 
3 file_roots:
4   base:
5     - /srv/salt
6 
7 那麼:salt://vimrc指的實際路徑是:/srv/salt/vimrc,這樣作的好處是,能夠知足state系統中環境的概念。

 

示例:.net

 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使用code

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    

 

相關文章
相關標籤/搜索