salt 版本html
1 [root@salt100 ~]# salt --version 2 salt 2018.3.3 (Oxygen) 3 [root@salt100 ~]# salt-minion --version 4 salt-minion 2018.3.3 (Oxygen)
salt 無master文檔web
standalone_minionvim
https://docs.saltstack.com/en/latest/topics/tutorials/standalone_minion.html
salt-callless
https://docs.saltstack.com/en/latest/ref/cli/salt-call.html
注意★★★★★測試
當salt處於無master【masterless】模式時,不要運行salt-minion守護進程。不然salt-minion將嘗試去鏈接master並失敗。salt-call命令獨立存在,不須要salt-minion守護進程。this
備註:這次是在salt01上操做spa
一、關閉salt-minion、關閉開機自啓動code
1 systemctl stop salt-minion.service 2 systemctl disable salt-minion.service
二、minion端配置修改server
1 [root@salt01 ~]# vim /etc/salt/minion 2 ……………… 3 # Set the file client. The client defaults to looking on the master server for 4 # files, but can be directed to look at the local file directory setting 5 # defined below by setting it to "local". Setting a local file_client runs the 6 # minion in masterless mode. 7 #file_client: remote 8 file_client: local # 從默認的 remote改成local 9 ………………
備註:salt-call 會讀取該配置文件,所以該配置文件必須改。htm
三、file_roots和pillar_roots設置
使用默認的便可,不須要設置
四、External pillars設置
無master模式支持External pillars
1 [root@salt01 ~]# salt-call test.ping 2 local: 3 True 4 [root@salt01 ~]# salt-call grains.items # 查看全部grains信息
1 [root@salt01 ~]# vim /etc/salt/minion 2 ……………… 3 # Custom static grains for this minion can be specified here and used in SLS 4 # files just like all other grains. This example sets 4 custom grains, with 5 # the 'roles' grain having two values that can be matched against. 6 grains: 7 roles: 8 - webserver03 9 - memcache03 10 os: redhat03 11 tree: tree001 12 ……………… 13 [root@salt01 ~]# salt-call saltutil.sync_grains # 刷新 grains【實際能夠不進行此操做,由於是本地讀取】 14 local: 15 ##### 查看grains結果 16 [root@salt01 ~]# salt-call grains.item tree 17 local: 18 ---------- 19 tree: 20 tree001 21 [root@salt01 ~]# salt-call grains.item roles 22 local: 23 ---------- 24 roles: 25 - webserver03 26 - memcache03 27 [root@salt01 ~]# salt-call grains.item roles:1 # 讀取列表中的下標爲1的數據 28 local: 29 ---------- 30 roles:1: 31 memcache03
1 [root@salt01 pillar]# pwd 2 /srv/pillar 3 [root@salt01 pillar]# cat top.sls 4 base: 5 '*': 6 - web_pillar.user 7 [root@salt01 pillar]# cat web_pillar/user.sls 8 tree: 9 tree01: 10 - name01: zhang01 11 - name02: zhang02 12 tree02: 13 - my_user1: salt0-01 14 - my_user2: salt0-02 15 [root@salt01 ~]# salt-call saltutil.sync_pillar # 刷新【實際能夠不進行此操做,由於是本地讀取】 16 local: 17 ###### pillar數據查詢 18 [root@salt01 ~]# salt-call pillar.items 19 local: 20 ---------- 21 tree: 22 ---------- 23 tree01: 24 |_ 25 ---------- 26 name01: 27 zhang01 28 |_ 29 ---------- 30 name02: 31 zhang02 32 tree02: 33 |_ 34 ---------- 35 my_user1: 36 salt0-01 37 |_ 38 ---------- 39 my_user2: 40 salt0-02 41 [root@salt01 ~]# salt-call pillar.item tree:tree01 42 local: 43 ---------- 44 tree:tree01: 45 |_ 46 ---------- 47 name01: 48 zhang01 49 |_ 50 ---------- 51 name02: 52 zhang02 53 [root@salt01 ~]# salt-call pillar.item tree:tree01:name01 54 local: 55 ---------- 56 tree:tree01:name01: 57 zhang01
注意這幾個的區別【取列表信息】
1 [root@salt01 pillar]# salt-call pillar.item tree:tree01 2 local: 3 ---------- 4 tree:tree01: 5 |_ 6 ---------- 7 name01: 8 zhang01 9 |_ 10 ---------- 11 name02: 12 zhang02 13 [root@salt01 pillar]# salt-call pillar.item tree:tree01:0 14 local: 15 ---------- 16 tree:tree01:0: 17 ---------- 18 name01: 19 zhang01 20 [root@salt01 pillar]# salt-call pillar.item tree:tree01:name01 21 local: 22 ---------- 23 tree:tree01:name01: 24 zhang01 25 [root@salt01 pillar]# salt-call pillar.item tree:tree01:0:name01 26 local: 27 ---------- 28 tree:tree01:0:name01: 29 zhang01
———————————————END———————————————