原文發表於cu:2016-06-23 參考文檔: saltstack的安裝與簡單配置,應用。 一.環境 Server:CentOS Linux release 7.2.1511 (Core) Salt-master:172.18.12.201 Salt-minion:172.18.12.204 二. ...
原文發表於cu:2016-06-23
參考文檔:
- Saltstack安裝文檔:https://repo.saltstack.com/#rhel
saltstack的安裝與簡單配置,應用。
一.環境
Server:CentOS Linux release 7.2.1511 (Core)
Salt-master:172.18.12.201
Salt-minion:172.18.12.204
二.Saltstack安裝與配置
1. yum安裝
# Salt-master安裝: [root@localhost ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm [root@localhost ~]# yum clean expire-cache [root@localhost ~]# yum install salt-master # Salt-minion安裝,最後一步安裝組件有區別: [root@localhost ~]# yum install salt-minion
2. 防火牆配置(salt-master)
# CentOS7.2預設自帶firewall,無iptable; # 移除系統自帶firewall的開機啟動,安裝iptable,設置iptable開機啟動 [root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# systemctl disable firewalld.service [root@localhost ~]# yum install iptables-services –y [root@localhost ~]# systemctl enable iptables.service [root@localhost ~]# systemctl restart iptables.service # tcp4506是salt-master發送命令信息的埠,tcp4506是salt-minion返回信息的埠; # Salt-minion可不做防火牆處理,預設iptable規則即可 [root@localhost ~]# vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 4505 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 4506 -j ACCEPT
3. salt-master配置
#interface參數綁定master的通信ip,預設可不變更,表示所有主機ip; [root@localhost ~]# sed -i 's/#interface: 0.0.0.0/interface: 172.18.12.201/g' /etc/salt/master # hash_type參數預設可不變更,salt-master也可啟動,但啟動後有告警如下: # [WARNING ] IMPORTANT: Do not use md5 hashing algorithm! Please set "hash_type" to sha256 in Salt Master config! [root@localhost ~]# sed -i 's/#hash_type: md5/hash_type: sha256/g' /etc/salt/master # auto_accept參數是自動認證開關,預設關閉,使用salt-key確認證書信任 [root@localhost ~]# sed -i 's/#auto_accept: False/auto_accept: True/g' /etc/salt/master
4. salt-minion配置
# master參數指定master 的ip (或者主機名),必配參數,如果minion啟動時不能解析到master 主機,啟動會失敗; [root@localhost ~]# sed -i 's/#master: salt/master: 172.18.12.201/g' /etc/salt/minion # hash_type參數同master; [root@localhost ~]# sed -i 's/#hash_type: sha256/hash_type: sha256/g' /etc/salt/master # id參數設置salt-minion名,預設未設置,minio名取主機hostname中設定的主機名 [root@localhost ~]# sed -i 's/#id:/id: 172.18.12.204/g' /etc/salt/minion
5. 啟動服務
啟動salt-master
# 設置開機啟動,啟動後查看狀態; # 啟動中有問題可通過"systemctl status salt-master.service"與"salt-mater -l debug"等命令定位故障,下麵salt-minion相同 [root@localhost ~]# systemctl enable salt-master.service [root@localhost ~]# systemctl start salt-master.service [root@localhost ~]# systemctl status salt-master.service
啟動salt-minion
#設置開機啟動,啟動後查看狀態 [root@localhost ~]# systemctl enable salt-minion.service [root@localhost ~]# systemctl start salt-minion.service [root@localhost ~]# systemctl status salt-mionion.service
6. 驗證(salt-master)
查看minion表
[root@localhost ~]# salt-key -L
Salt-master已經設置"auto_accept"參數為"True",minion主機"172.18.12.204"已在"Acceptd Keys"中(主機名為salt-minion設置的id或hostname)。
手動認證key("auto_accept"參數為"False"時)
# -A指確認"Unacceptd Keys"中的全部minion(unacceptd中的minion列表為紅色,確認到accepted列表中後變為綠色) [root@localhost ~]# salt-key -A # -a指"Unacceptd Keys"中特定的minion # 或[root@localhost ~]# salt-key -a 172.18.12.204
簡單的命令測試
# "*"表示所有"Acceptd Keys"中的minion,也可以對特定的minion執行命令; # 返回值為"True"表示master與minion連接成功 [root@localhost ~]# salt "*" test.ping
#使用"cmd.run"可以執行具體的命令 [root@localhost ~]# salt "*" cmd.run "iptables -nL"