2017年8月23日 星期三

S小魚仔S Centos 7 SaltStack 自動化運維工具

這幾天不斷在思考一個問題,當「Linux」主機越來越多應該怎麼合理管理? 於是就有朋友推薦「SaltStack」自動化運維工具「SaltStack - 指令參考」。

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'


參考資料
Neoesque Blog」-「Saltstack 使用心得&簡介
阿里雲 Blog」-「安装 SaltStack 和 Halite

沒有留言:

張貼留言