部署SaltStack及批量安裝httpd服務
阿新 • • 發佈:2018-08-06
strong rom ble srv 安裝apache 通信 eve enforce emc SaltStack簡介
Salt是一個基礎平臺管理工具。SaltStack 采用 C/S模式,server端就是salt的master,client端就是minion,minion與master之間通過ZeroMQ消息隊列通信。master監聽4505和4506端口,4505為master和minion認證通信端口,4506為master用來發送命令或者接收minion的命令執行返回信息。
?
- SaltStack常用模塊
- SaltStack提供了非常多的功能模塊,以便於對操作系統的基礎功能和常用工具的操作。
1:pkg模塊 :是包管理,包括增刪更新。
2:file模塊 :管理文件操作,包括同步文件、設置文件權限和所屬用戶組、刪除文件等操作。3:cmd模塊 :是在Minion上執行命令或者腳本。
4:user模塊 :管理系統賬戶操作。
5:service模塊 :管理系統服務操作
6:cron模塊 :管理cron服務操作
?
部署環境
角色 | 主機名 | IP |
---|---|---|
master | master.saltstack.com | 192.168.200.128 |
minion | web01.saltstack.com | 192.168.200.129 |
minion | web02.saltstack.com | 192.168.200.130 |
?
操作步驟
-
SaltStack安裝
-
1:修改主機名
# vim /etc/hostname 三臺主機分別為: master.saltstack.com //(管理) web01.saltstack.com //(被管理) web02.saltstack.com //(被管理)
-
2:修改三臺hosts文件
# vim /etc/hosts 192.168.200.128 master.saltstack.com 192.168.200.129 web01.saltstack.com 192.168.200.130 web02.saltstack.com
-
3:安裝
# systemctl stop firewalld # setenforce 0 //關閉防火墻 # yum install -y epel-release # yum install -y salt-master //管理端安裝 # yum install -y epel-release # yum install -y salt-minion //被管理端安裝
-
4:管理端配置
# vim /etc/salt/master interface: 192.168.200.128 //15行 監聽地址改為本地IP ............ auto_accept: True //215 證書認證 ............ file_roots: //416行 站點目錄開啟 base: - /srv/salt ............ nodegroups: //710行 組分類 group1: ‘web01.saltstack.com‘ group2: ‘web02.saltstack.com‘ ............ pillar_opts: True //552行 pillar開啟 pillar_roots: //529行 base: - /srv/pillar # cat /etc/salt/master | grep -v ^$ | grep -v ^# //查看修改好的配置項
?
-
5:創建salt文件根目錄和pillar目錄
# mkdir /srv/salt # mkdir /srv/pillar # systemctl start salt-master.service //開啟服務 # netstat -natp | egrep ‘4505|4506‘ //查看4505、4506端口
?
-
6:被管理端配置
# vim /etc/salt/minion master: 192.168.200.128 //16行 指定管理端IP id: web01.saltstack.com //78行 指定被控的主機名 (另外一臺為 web02.saltstack.com) # systemctl start salt-minion.service //開啟服務
?
-
7:在管理端測試 。 ‘*‘ 指的是所有主機
# salt ‘*‘ test.ping //查看通信狀態 # salt ‘*‘ cmd.run ‘df -h‘ //查看所有被管理端的掛載情況 # salt ‘web01.saltstack.com‘ cmd.run ‘df -h‘ //查看指定主機的掛載情況 # salt ‘*‘ grains.items //查看grains值 # salt ‘*‘ pillar.items //查看pillar(動態信息) # salt-key //查看已經被接受過的客戶端
?
? -
Saltstack配置管理安裝Apache
註意:‘*‘ 表示所有客戶端執行apache模塊 # vim /srv/salt/top.sls base: ‘*‘: - apache
# vim /srv/salt/apache.sls //註意apache-service 是自定義的id名 apache-service: pkg.installed: - names: - httpd - httpd-devel service.running: - name: httpd - enable: True
-
重啟服務
# systemctl restart salt-master
-
在管理端執行刷新state配置命令
# salt ‘*‘ state.highstate
?
? - 去minion驗證下httpd安裝成功
部署SaltStack及批量安裝httpd服務