salt認證和語法

1 Master與Minion認證過程:html


1.minion在第一次啓動時,會在/etc/salt/pki/minion/(該路徑在/etc/salt/minion裏面設置)下自動生成minion.pem(private key)和minion.pub(public key),node

而後將minion.pub發送給master。linux


2.master 在接收到minion的public key後,經過salt-key命令accept minion public key,這樣在master的/etc/salt/pki/master/minions下的將會存放以minion id命名的public key,web

而後master就能對minion發送指令了。正則表達式


2 Master與Minion的鏈接shell

Saltstack master啓動後默認監聽4505和4506兩個端口。4505(publish_port)爲salt的消息發佈系統,vim

4506(ret_port)爲salt客戶端與服務端通訊的端口。若是使用lsof查看4505端口,會發現全部的Minion在4505端口持續保持在ESTABLISHEDide


3 Master與Minion的Key:測試

因爲上面已經設置了客戶端自動註冊到服務端,因此直接能夠查看是否有客戶端註冊.net

[root@master slave]# salt-key -L

Accepted Keys:

slave_141

slave_142

slave_143

Unaccepted Keys:

Rejected Keys:


Accepted Keys:爲被服務端接受的KEY(slave_141 slave_142 slave_143就是minion中的id標識號)

Unaccepted Keys:未被服務端接受的KEY

Rejected Keys:被服務端拒絕的KEY

salt-key命令能夠接受特定的單個key或批量接受key, 使用-A選項接受當前全部的key, 接受單個key能夠使用-a idname.


4 在服務端salt匹配minion id


在運行salt命令進行匹配時,請使用單引號('),避免shell解析


匹配全部minion:salt  '*' test.ping

匹配下邊域的全部minion:salt '*.example.*' test.ping

匹配example.net域中的(web1.example.net、web2.example.net......webN.example.example.net):salt 'web?.example.net' test.ping

匹配web1到web5的minion: salt 'web[1-5]' test.ping

匹配web-x、web-y及web-z minion: salt 'web-[x-z]' test.ping


5 正則表達式:

匹配web-prod和web1-devel minion:

salt -E 'web1-(prod|devel)' test.ping


指定列表

salt -L 'web1,web2,web3' test.ping


指定組:

在服務務端中打開master配置文件

vim /etc/salt/master

添加以下分組

nodegroups:

group1: 'L@slave_143,slave_141'

group2: 'slave_142'


值得注意的是編輯master的時候,group1和group2前面是2個空格


6 測試:

[root@drfdai-17 salt]#salt -N group2 test.ping

slave_142:

True


可能你們會好奇group1中爲何會有L@,這表明什麼意思?

其實L是指客戶端列表,咱們一組中有多個客戶端,因此在前面用L表示。除了有列表匹配外,還有不少匹配方式,如:

這些參數均可以直接在命令行使用,如:

salt -S '192.168.43.142' test.ping

salt -G 'os:Centos' test.ping

salt -L '230,68' test.ping


minion基本信息的管理

基本使用:

salt '*' grains.ls  查看grains分類

salt '*' grains.items 查看grains全部信息

salt '*' grains.item osrelease 查看grains某個信息


如:

[root@drfdai-17 salt]# salt '*' grains.item osrelease

230:

osrelease: 6.2

68:

osrelease: 6.2



這一章參考:http://www.linuxyw.com/179.html

相關文章
相關標籤/搜索