saltstack從入門到放棄(1)
1.介紹:
(1)saltstack是一個開源軟件,python編寫,是一種基于c/s架構(gòu)的服務(wù)模式,底層使用了ZeroMQ消息隊(duì)列,導(dǎo)致它非常叼,使用SSL證書簽發(fā)的方式進(jìn)行認(rèn)證管理,只有簽名過的證書所對應(yīng)的機(jī)器才能接受并處理任務(wù)(只有我簽名的才是我的粉絲)
(2)salt結(jié)構(gòu)中服務(wù)器端叫做master,客戶端叫做minion
(3)master和minion都是以守護(hù)進(jìn)程方式運(yùn)行,監(jiān)聽配置文件中指定好的端口號
(4)minion啟動會連接master進(jìn)行認(rèn)證(給我證書簽個名吧,我要做你的粉絲)
(5)saltstack支持發(fā)布訂閱服務(wù)模式
2.安裝,配置
環(huán)境介紹:
master:192.168.1.2
minion:192.168.1.3
(1)所有機(jī)器上都執(zhí)行
pip install salt
(2)master上創(chuàng)建配置文件目錄及配置文件
$ mkdir -p /etc/salt/
$ cat /etc/salt/master
# 發(fā)布消息端口號
publish_port: 4505
# 接收minion請求端口號
ret_port: 4506
# pid文件
pidfile: /var/run/salt-master.pid
# 配置文件
conf_file: /etc/salt/master
# 命令超時時間
timeout: 5
# 最大打開文件數(shù)限制,和minion數(shù)有關(guān)
max_open_files: 100000
# salt管理線程數(shù)目
worker_threads: 5
(3)minion上創(chuàng)建配置文件目錄及配置文件
$ mkdir -p /etc/salt/
$ cat /etc/salt/minion
# 設(shè)置master地址
master: 192.168.1.2
# 設(shè)置master的端口號
master_port: 4506
# 設(shè)置minion id,發(fā)送設(shè)置的信息給master表明自己身份,讓對方來簽名.對應(yīng)了master端看到的key的名字
id: '192.168.1.3'
(4)master上開啟守護(hù)進(jìn)程,minion上開啟守護(hù)進(jìn)程
master:
$ salt-master -d
minion:
$ salt-minion -d
(5)master對minion上發(fā)過來的證書進(jìn)行簽名,簽完后你就是我粉絲了。讓你干啥你干啥
- 查看當(dāng)前證書簽證情況
$ salt-key -L

未簽發(fā)前證書狀態(tài)
- 對所有沒接受的簽證進(jìn)行簽名
$ salt-key -A -y
- 簽名后再次查看證書的簽證情況
$ salt-key -L

簽名成功后證書狀態(tài)
3.對minion節(jié)點(diǎn)執(zhí)行ping檢測
- 正常節(jié)點(diǎn)ping檢測
$ salt '192.168.1.3' test.ping

執(zhí)行成功返回True
- 未添加的節(jié)點(diǎn)ping檢測
$ salt '192.168.1.2' test.ping

未匹配,不執(zhí)行