Saltstack批量部署apache

saltstack簡介

1.是一個基礎平臺管理工具
2.是一個配置配置管理系統,可以維護預約義狀態的遠程節點
3.是一個分佈式遠程執行系統,用來在遠程節點上執行命令和查詢數據

三大功能

遠程執行
配置管理(狀態)
雲管理

Saltstack批量部署apache

實驗環境

master 192.168.13.131
web01 192.168.13.132
web02  192.168.13.133

1,配置三臺服務器,安裝epel源

##添加主機名,三臺機器都要添加,而且主機要改爲相應的名稱
[root@master ~]# vim /etc/hosts
192.168.13.131 master.saltstack.com
192.168.13.132 web01.saltstack.com
192.168.13.133 web02.saltstack.com

#每臺都須要關閉防火牆
[root@master ~]# systemctl stop firewalld.service 
[root@master ~]# setenforce 0
[root@master ~]# vim /etc/hostname 
master.saltstack.com

[root@web01 ~]# vim /etc/hostname 
web01.saltstack.com

[root@web02 ~]# vim /etc/hostname 
web02.saltstack.com

#安裝epel源(三臺都要裝)
[root@master ~]# yum install -y epel-release

2,配置master服務salt-master

[root@master ~]# yum -y install salt-master  
[root@master ~]# vim /etc/salt/master   ##修改配置文件
15行 interface: 192.168.13.131   //監聽地址
215行 auto_accept: True        //避免要運行salt-key來確認證書認證
416行 file_roots:
base:
- /srv/salt           //saltstack文件根目錄位置,目錄須要建立
710行 組分類:
nodegroups:
group1: 'web01.saltstack.com'  ##後端服務器域名
group2: 'web02.saltstack.com'

552行 pillar_opts: True        //開啓pillar功能,同步文件功能
529行 
pillar_roots:
base:
- /srv/pillar         //pillar的主目錄,須要建立
[root@master ~]# mkdir /srv/salt  ##建立saltstack文件根目錄
[root@master ~]# mkdir /srv/pillar   ##建立pillar的主目錄
[root@master ~]# systemctl start salt-master.service   ##開啓服務
[root@master ~]# netstat -ntap | egrep '4505|4506'   ##查看端口
tcp        0      0 192.168.13.131:4505     0.0.0.0:*               LISTEN      45899/python        
tcp        0      0 192.168.13.131:4506     0.0.0.0:*               LISTEN      45915/python

3,配置web01,web02端salt-minion

[root@web01 ~]# yum -y install salt-minion  ##安裝salt-minion
[root@web01 ~]# vim /etc/salt/minion ##修改配置文件
16行 master: 192.168.13.131     //指定主控端IP
78行 id: web01.saltstack.com     //指定被控端主機名(web2就寫web02.saltstack.com)
[root@web01 ~]# systemctl start salt-minion.service  ##開啓服務

4,在master上測試通訊狀態

[root@master ~]# salt '*' test.ping  
web02.saltstack.com:
        True
web01.saltstack.com:
        True

5,用master進行管理

[root@master ~]# salt '*' cmd.run 'df -h'   ##查看後臺web的掛載狀況
查看被控主機上grains全部值:(每次minion在啓動是都會獲取客戶端信息)
[root@master ~]# salt 'web01.saltstack.com' grains.items (靜態數據信息)
[root@master ~]# salt 'web01.saltstack.com' pillar.items  (動態數據信息)
[root@master ~]# salt-key   ##查看認證的主機信息
Accepted Keys:
web01.saltstack.com
web02.saltstack.com
Denied Keys:
Unaccepted Keys:
Rejected Keys:

6,配置管理安裝apache

##修改配置文件
vim /etc/salt/master     // 打開下面的選項,以前已經開啓而且建立過目錄
file_roots:
base:
- /srv/salt/

mkdir /srv/salt
注意:環境: base、dev(開發環境)、test(測試環境)、prod(生產環境)。
[root@master ~]# vim /srv/salt/top.sls  ##編寫管理性文件
base:
    '*':      ##全部主機
        - apache     ##指定apache文件
[root@master ~]# vim /srv/salt/apache.sls
apache-service:
    pkg.installed:
        - names:         ##安裝的服務
            - httpd
            - httpd-devel
    service.running:
        - name: httpd    ##服務開啓
        - enable: True
[root@master ~]# systemctl restart salt-master.service   ##重啓服務
[root@master ~]# salt '*' state.highstate   ##執行操做

7,在web端查看是否安裝httpd服務

[root@web01 ~]# rpm -q httpd
httpd-2.4.6-90.el7.centos.x86_64
[root@web01 ~]# netstat -ntap | grep 80
tcp6       0      0 :::80                   :::*                  LISTEN      6786/httpd 
[root@web02 ~]# rpm -q httpd
httpd-2.4.6-90.el7.centos.x86_64
[root@web02 ~]# netstat -ntap | grep 80
tcp6       0      0 :::80                   :::*                  LISTEN      6759/httpd

謝謝閱讀!

相關文章
相關標籤/搜索