SaltStack 的架構分成 Server (Master) 跟 Client (Minion)。
Server 需要安裝「Master」、「Minion」工具。
Client 需要安裝「Minion」工具。
Server 防火牆「TCP 4505、4506」開啟例外。
====Server (Master) 配置====
#修改「電腦」名稱
hostnamectl set-hostname SaltStack-Master
#關閉「Selinux 」並「重開機」
vi /etc/sysconfig/selinux
SELINUX=disabled
reboot
#加入「防火牆」例外規則
sudo firewall-cmd --add-port=4505/tcp --permanent
sudo firewall-cmd --add-port=4506/tcp --permanent
#重新啟動「防火牆」
sudo firewall-cmd --reload
#檢查「防火牆」配置
firewall-cmd --list-all --permanent
# 安裝「SaltStack」配置 YUM Repository
vi /etc/yum.repos.d/saltstack.repo
[saltstack-repo]
name=SaltStack repo for Red Hat Enterprise Linux $releasever
baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/base/RPM-GPG-KEY-CentOS-7
#安裝「SaltStack」RPM
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm -y
#「Master」主機端安裝「Salt-master」與「salt-minion」。
yum install salt-master salt-minion -y
#配置「Salt-Master」主機「IP」。
vi /etc/salt/master
interface: 0.0.0.0 # 接受「0.0.0.0」 網段
auto_accept: True #自動接受「minion」请求
#啟動「Salt-master」
systemctl start salt-master.service
#開機「自動啟動」salt-master
systemctl enable salt-master.service
#配置「Salt-minion」指向「Server」主機「IP」。
vi /etc/salt/minion
master: 192.168.8.22
#啟動「salt-minion」
systemctl start salt-minion.service
#開機「自動啟動」salt-minion
systemctl enable salt-minion.service
#檢查「Salt-master」狀態
systemctl status salt-master.service
#檢查「Salt-minion」狀態
systemctl status salt-minion.service
#檢查「4505」端口
netstat -tunlp | grep -e 4505 -e 4506
#檢查「Master」是/否 「監控」必須在「Accepted Keys」才算「受監控」
salt-key -L
PS.
如果顯示「Unaccepted Keys」使用下面指定「進行授權」
salt-key -a hostname -y
====Clinet (Minion) 配置====
#修改「電腦」名稱
hostnamectl set-hostname minion-01
#關閉「Selinux 」並「重開機」
vi /etc/sysconfig/selinux
SELINUX=disabled
reboot
# 安裝「SaltStack」配置 YUM Repository
vi /etc/yum.repos.d/saltstack.repo
[saltstack-repo]
name=SaltStack repo for Red Hat Enterprise Linux $releasever
baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/base/RPM-GPG-KEY-CentOS-7
#安裝「SaltStack」RPM
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm -y
#「Client」端安裝「Salt-minion」。
yum install salt-minion -y
#指向「Salt-master」主機「IP」
vi /etc/salt/minion
master: 192.168.8.22
#啟動「Salt-minion」
systemctl start salt-minion.service
#開機「自動啟動」salt-minion
systemctl enable salt-minion.service
#檢查「Salt-minion」狀態
systemctl status salt-minion.service
====Server (Master) 操作「Client (Minion)」====
#如果要對「minion-01」下指令則是用 「cmd.run」
salt 'minion-01' cmd.run date
#查詢「minion-01」IP 設定
salt 'minion-01' cmd.run 'ifconfig'
參考資料