安裝saltstackhtml
環境:
Master:192.168.117.145 (centos七、python2.7)
Minion1:192.168.117.215 (centos7)
Minion2:192.168.117.231 (2008R2)python
安裝masterlinux
關閉selinuxgit
getenforce ##查看selinux的狀態 setenforce 0 ##關閉selinux
關閉防火牆github
Systemctl stop firewalld ##關閉防火牆
安裝epel源web
安裝master和minion都須要配置epel,官方地址:https://fedoraproject.org/wiki/EPELubuntu
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安裝並啓動masterwindows
可使用包管理器(centos:yum,ubuntu:apt-get),也可使用pip安裝,具體能夠參考此處使用yum進行安裝,其它能夠參考官網說明https://docs.saltstack.com/en/latest/topics/installation/index.htmlcentos
yum install -y salt-master systemctl enable salt-master.service ##開機自啓 systemctl start salt-master
配置/etc/hosts文件api
192.168.117.145 Master 192.168.117.215 Node-1 192.168.117.167 R2
ping Node-1以驗證配置結果。
安裝minion
1.安裝
其它安裝方式參考官網說明,windows agent連接安裝包下載地址:
https://repo.saltstack.com/#windows
yum install -y salt-minion
2.指定master地址
修改文件/etc/salt/minion
master: 192.168.46.163 Id:Node-1 ##這裏定義後,master認證證書那裏就以這個名稱爲主,默認這裏是註釋狀態。
啓動minion
systemctl enable salt-minion.service systemctl start salt-minion
master節點Salt-KEY認證
minion啓動完成後,master節點使用salt-key能夠看到
[root@localhost ~]# salt-key Accepted Keys: Denied Keys: Unaccepted Keys: ##不合格KEY Node-1 Rejected Keys:
配置認證
在服務端上操做
salt-key -a Node-1
[root@localhost ~]# salt-key Accepted Keys: ##接受的KEY Node-1 Denied Keys: Unaccepted Keys: Rejected Keys:
說明:-a :accept ,-A:accept-all,-d:delete,-D:delete-all。可使用 salt-key 命令查看到已經簽名的客戶端。此時咱們在客戶端的 /etc/salt/pki/minion 目錄下面會多出一個minion_master.pub 文件。
測試驗證
示例1: salt '*' test.ping //檢測通信是否正常,也能夠指定其中一個 'Node-1'
示例2: salt '*' cmd.run 'df -h' //遠程執行命令
說明: 這裏的 * 必須是在 master 上已經被接受過的客戶端,能夠經過 salt-key 查到,一般是咱們已經設定的 id 值。
關於這部份內容,它支持通配、列表以及正則。 好比兩臺客戶端 web十、web11, 那咱們能夠寫成 salt 'web*' salt 'web1[02]' salt -L 'web10,web11' salt -E 'web(10|11)' 等形式,使用列表,即多個機器用逗號分隔,並且須要加-L,使用正則必需要帶-E選項。
master裝web界面
下載halite 地址:https://github.com/saltstack/halite
[root@localhost ~]# cd /var/www
生成index.html文件,解壓並進入halite目錄下
[root@localhost www]# cd halite/halite/ [root@localhost www]# ./genindex.py -C
安裝salt-api
yum install salt-api
建立用戶salt-api的用戶(非root)
useradd -M -s /sbin/nologin slsapi echo 'slsapi' | passwd slsapi --stdin
配置master
修改文件/etc/salt/master
rest_cherrypy: host: 0.0.0.0 port: 8080 debug: true static: /root/halite/halite app: /root/halite/halite/index.html external_auth: pam: admin: - .* - '@runner' - '@wheel'
重啓master
systemctl restart salt-master
配置salt-api啓動項,設置api開機自啓
systemctl enable salt-api.service
修改服務文件
vi /usr/lib/systemd/system/salt-api.service
修改ExecStart項
ExecStart=/usr/bin/python /var/www/halite/halite/server_bottle.py -d -C -l debug -s cherrypy
啓動salt-api
systemctl daemon-reload systemctl start salt-api
登陸測試:http://127.0.0.1:8080/app/console
經過salt/salt登錄便可