python saltstack模塊

Salt 是:
一個(gè)配置管理系統(tǒng),能夠維護(hù)預(yù)定義狀態(tài)的遠(yuǎn)程節(jié)點(diǎn)(比如,確保指定的報(bào)被安裝,指定的服務(wù)在運(yùn)行)
一個(gè)分布式遠(yuǎn)程執(zhí)行系統(tǒng),用來在遠(yuǎn)程節(jié)點(diǎn)(可以是單個(gè)節(jié)點(diǎn),也可以是任意規(guī)則挑選出來的節(jié)點(diǎn))上執(zhí)行命令和查詢數(shù)據(jù)
開發(fā)其的目的是為遠(yuǎn)程執(zhí)行提供最好的解決方案,并使遠(yuǎn)程執(zhí)行變得更好,更快,更簡(jiǎn)單

SaltStack三大功能:
遠(yuǎn)程執(zhí)行,
配置管理,
云管理

Saltstack的優(yōu)勢(shì):
有master端和minion端,執(zhí)行的信息比較穩(wěn)定,不容易丟失信息,或者出現(xiàn)失聯(lián)主機(jī)的情況

有封裝好的http-api,我們可以直接啟動(dòng)salt-api就可以通過http協(xié)議進(jìn)行調(diào)用。不需要自己進(jìn)行第二次的封裝

SaltStack安裝基礎(chǔ)環(huán)境準(zhǔn)備

基于centos6和centos7的差異,在兩個(gè)不同的操作系統(tǒng)中安裝saltstack也是不一樣的。

Centos6需要先安裝擴(kuò)展源,然后在進(jìn)行安裝:
Master端
yum install –y salt-master
Yum install –y salt-api

Minion端:
Yum install -y salt-minion

源碼安裝:http://note.youdao.com/noteshare?id=881bbdbb6fd7bca9f74360aa052b79a4&sub=EEDE33154E13432FA9198021015C5C25

[root@linux-node1 ~]# cat /etc/redhat-release  ##查看系統(tǒng)版本

CentOS release 6.7 (Final)

[root@linux-node1 ~]# uname -r ##查看系統(tǒng)內(nèi)核版本

2.6.32-573.el6.x86_64

[root@linux-node1 ~]# getenforce ##查看selinux的狀態(tài)

Enforcing

[root@linux-node1 ~]# setenforce 0 ##關(guān)閉selinux

[root@linux-node1 ~]# getenforce  

Permissive

[root@linux-node1 ~]# /etc/init.d/iptables stop

[root@linux-node1 ~]# /etc/init.d/iptables stop

[root@linux-node1 ~]# ifconfig eth0|awk -F '[: ]+' 'NR==2{print $4}' ##過濾Ip地址

192.168.0.15

[root@linux-node1 ~]# hostname ##查看主機(jī)名

linux-node1.zhurui.com

[root@linux-node1 yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo [http://mirrors.aliyun.com/repo/epel-6.repo](http://mirrors.aliyun.com/repo/epel-6.repo)  ##安裝salt必須使用到epel源

安裝Salt

服務(wù)器:

[root@linux-node1 yum.repos.d]# yum install -y salt-master salt-minion ##salt-master包跟salt-minion包
[root@linux-node1 yum.repos.d]# chkconfig salt-master on  ##加入到開機(jī)自動(dòng)啟動(dòng)
[root@linux-node1 yum.repos.d]# chkconfig salt-minion on  ##加入到開機(jī)自動(dòng)啟動(dòng)
[root@linux-node1 yum.repos.d]# /etc/init.d/salt-master start   ##啟動(dòng)salt-master
Starting salt-master daemon:                                   [  OK  ]
啟動(dòng)到這里需要修改minion配置文件,才能啟動(dòng)salt-minion服務(wù)
[root@linux-node1 yum.repos.d]# grep '^[a-z]' /etc/salt/minion   
master: 192.168.0.15  ##指定master主機(jī)
[root@linux-node1 yum.repos.d]# cat /etc/hosts
192.168.0.15 linux-node1.zhurui.com linux-node1  ##確認(rèn)主機(jī)名是否解析
192.168.0.16 linux-node2.zhurui.com linux-node2
解析結(jié)果:
[root@linux-node1 yum.repos.d]# ping linux-node1.zhurui.com
PING linux-node1.zhurui.com (192.168.0.15)56(84) bytes of data.
64 bytes from linux-node1.zhurui.com (192.168.0.15): icmp_seq=1 ttl=64 time=0.087 ms
64 bytes from linux-node1.zhurui.com (192.168.0.15): icmp_seq=2 ttl=64 time=0.060 ms
64 bytes from linux-node1.zhurui.com (192.168.0.15): icmp_seq=3 ttl=64 time=0.053 ms
64 bytes from linux-node1.zhurui.com (192.168.0.15): icmp_seq=4 ttl=64 time=0.060 ms
64 bytes from linux-node1.zhurui.com (192.168.0.15): icmp_seq=5 ttl=64 time=0.053 ms
64 bytes from linux-node1.zhurui.com (192.168.0.15): icmp_seq=6 ttl=64 time=0.052 ms
64 bytes from linux-node1.zhurui.com (192.168.0.15): icmp_seq=7 ttl=64 time=0.214 ms
64 bytes from linux-node1.zhurui.com (192.168.0.15): icmp_seq=8 ttl=64 time=0.061 ms
[root@linux-node1 yum.repos.d]# /etc/init.d/salt-minion start  ##啟動(dòng)minion客戶端
Starting salt-minion daemon:                               [  OK  ]
[root@linux-node1 yum.repos.d]#

客戶端:

[root@linux-node2 ~]# yum install -y salt-minion  ##安裝salt-minion包,相當(dāng)于客戶端包
[root@linux-node2 ~]# chkconfig salt-minion on  ##加入開機(jī)自啟動(dòng)
[root@linux-node2 ~]# grep '^[a-z]' /etc/salt/minion   ##客戶端指定master主機(jī)
master: 192.168.0.15
[root@linux-node2 ~]# /etc/init.d/salt-minion start  ##接著啟動(dòng)minion
Starting salt-minion daemon:                               [  OK  ]

Salt秘鑰認(rèn)證設(shè)置

Master與Minion認(rèn)證

minion在第一次啟動(dòng)時(shí),會(huì)在/etc/salt/pki/minion/(該路徑在/etc/salt/minion里面設(shè)置)下自動(dòng)生成minion.pem(private key)和 minion.pub(public key),然后將 minion.pub發(fā)送給master。master在接收到minion的public key后,通過salt-key命令accept minion public key,這樣在master的/etc/salt/pki/master/minions下的將會(huì)存放以minion id命名的 public key,然后master就能對(duì)minion發(fā)送指令了。

salt-key -L 或者salt-key 顯示所有的key
salt-key -D :刪除所有認(rèn)證主機(jī)id證書
salt-key -d keys_values -y
salt-key -A:接收所有id證書請(qǐng)求
salt-key -a id :接受單個(gè)id證書請(qǐng)求

1,使用salt-kes -a linux*命令之前在目錄/etc/salt/pki/master目錄結(jié)構(gòu)如下


image.png

2,使用salt-kes -a linux*命令將秘鑰通過允許,隨后minions_pre下的文件會(huì)轉(zhuǎn)移到minions目錄下

[root@linux-node1 minion]# salt-key -a linux*
The following keys are going to be accepted:
UnacceptedKeys:
linux-node1.zhurui.com
linux-node2.zhurui.com
Proceed?[n/Y] Y
Keyfor minion linux-node1.zhurui.com accepted.
Keyfor minion linux-node2.zhurui.com accepted.
[root@linux-node1 minion]# salt-key
AcceptedKeys:
linux-node1.zhurui.com
linux-node2.zhurui.com
DeniedKeys:
UnacceptedKeys:
RejectedKeys:
image.png

3,此時(shí)目錄機(jī)構(gòu)變化成如下:


image.png

4,并且伴隨著客戶端/etc/salt/pki/minion/目錄下有master公鑰生成


image.png

安裝也可參照:
https://www.cnblogs.com/lgeng/p/6567424.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1,簡(jiǎn)介 1)SaltStack 本身是基于 Python 語言開發(fā)實(shí)現(xiàn),結(jié)合了輕量級(jí)的消息隊(duì)列軟件 ZeroMQ...
    沐兮_d64c閱讀 1,544評(píng)論 0 3
  • 自動(dòng)化運(yùn)維工具Saltstack詳細(xì)介紹 標(biāo)簽:salt自動(dòng)化運(yùn)維salt-master 版權(quán)聲明:原創(chuàng)作品,如需...
    jony456123閱讀 8,460評(píng)論 0 0
  • 我是個(gè)后知后覺的人,剛分手興高采烈的覺得自己解放了,沒人再來管著我了。結(jié)果沒半個(gè)月就哭成狗了。之前總以為失戀事小...
    貓啊喵閱讀 344評(píng)論 0 2
  • 周六的日子蕭涼,來京也近一周了,每天都在地鐵里周轉(zhuǎn),一無所獲。霧霾沉沉,也似是當(dāng)下的心緒,上午一 直是在牀上躺著的...
    Ncl閱讀 253評(píng)論 0 0
  • 喪心病狂作何解? 【解釋】:?jiǎn)适Ю碇?,象發(fā)了瘋一樣。形容言行昏亂而荒謬,或殘忍可惡到了極點(diǎn)。 這樣看來明顯是貶義詞...
    我是晏晏閱讀 1,230評(píng)論 2 4

友情鏈接更多精彩內(nèi)容