实验环境
准备两台主机
server9: 172.25.11.9 master (rhel6.5)
server10: 172.25.11.10 minion (rhel6.5)
官网上下载salt的安装包,在物理机上搭建solt的第三方软件仓库
将第三方软件仓库在apache发布目录下共享。
第三方软件仓库搭建
server9
安装salt-master
yum install -y salt-master
/etc/init.d/salt-master
server10
安装salt-minion
vim /etc/salt/minion
/etc/init.d/salt-minion start
传递公钥
salt-key -A # 添加密钥
salt-key -L # 查看
验证:
salt server10 test.ping
salt server10 cmd.run 'df -h'
密钥在master和slave端的传递,查看master和minion的公钥,在server9和server10上的公钥内容是相同的
开启服务之后查看端口(4505是ZMQ的进程,4506为master的进程)
solt自动安装apache
cd /etc/salt/
vim master
安装apache
mkdir /srv/salt
cd /srv/salt/
mkdir httpd #创建服务
vim install.sls # 编写YAML语言
apache-install:
pkg.installed:
- pkgs:
- httpd
- php
salt server10 state.sls httpd.install
server10:
----------
ID: apache-install
Function: pkg.installed
Result: True
Comment: The following packages were installed/updated: httpd, php
Started: 10:45:05.972089
Duration: 10909.128 ms
Changes:
----------
apr:
----------
new:
1.3.9-5.el6_2
old:
apr-util:
----------
new:
1.3.9-3.el6_0.1
old:
apr-util-ldap:
----------
new:
1.3.9-3.el6_0.1
old:
httpd:
----------
new:
2.2.15-29.el6_4
old:
httpd-tools:
----------
new:
2.2.15-29.el6_4
old:
mailcap:
----------
new:
2.1.31-2.el6
old:
php:
----------
new:
5.3.3-26.el6
old:
php-cli:
----------
new:
5.3.3-26.el6
old:
php-common:
----------
new:
5.3.3-26.el6
old:
Summary for server10
------------
Succeeded: 1 (changed=1)
Failed: 0
------------
Total states run: 1
Total run time: 10.909 s
开启apache
vim install.sls
apache-install:
pkg.installed:
- pkgs:
- httpd
- php
service.running:
- name: httpd
salt server10 state.sls httpd.install
在server10上查看端口,验证apache是否开启
apache开机自启和重载
vim install.sls
apache-install:
pkg.installed:
- pkgs:
- httpd
- php
service.running:
- name: httpd
- enable: True
- reload: True
- watch:
- file: apache-install
salt server10 state.sls httpd.install
更改配置文件(端口)重新加载
mkdir files
scp /etc/httpd/conf/httpd.conf 172.25.11.9:/srv/salt/httpd/files/ #将server10上的httpd.conf的配置文件拷贝到server9上
cd files/
vim httpd.conf
更改端口号 将80端口更改为8080
vim install.sls
apache-install:
pkg.installed:
- pkgs:
- httpd
- php
service.running:
- name: httpd
- enable: True
- reload: True
- watch:
- file: apache-install
/etc/httpd/conf/httpd.conf:
file.managed:
- source: salt://httpd/files/httpd.conf
- mode: 664
- user: root
salt server10 state.sls httpd.install
server10上查看端口