S小魚仔S 網誌搜尋

顯示具有 Saltstack 標籤的文章。 顯示所有文章
顯示具有 Saltstack 標籤的文章。 顯示所有文章

2017年8月23日 星期三

S小魚仔S Centos 7 SaltStack 派送腳本 Shell Script

SaltStack」支持「Shell Script」派送,修改「Salt-Master 」Shell Script 目錄,放置「Shell Script」腳本,透過指令進行派送。

配置「Salt-Master」指定「執行」Shell Script 「目錄
vi /etc/salt/master

file_roots:

  base:
         - /opt/



;重新啟動「Salt-master
systemctl restart salt-master.service

#將寫好「Shell」腳本放置「/opt」目錄 
#使用「cmd.script」派送「Shell Script」,執行「成功」就會顯示「PID」進程號
salt 'minion-01' cmd.script salt://1.sh

參考資料
Sina App Engine Blog」-「用 SaltStack 管理一到上万台服务器

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