master上 vi /etc/salt/master //搜索找到file_roots
打开如下内容的注释:
file_roots:
base: #前面有两个空格
- /srv/salt #前面有4个空格
systemctl restart salt-master
mkdir /srv/salt ; cd /srv/salt
vi /srv/salt/top.sls //加入如下内容
base:
'*': #前面有两个空格
- httpd #前面有4个空格
意思是,在所有的客户端上执行httpd模块
重启 systemctl restart salt-master
master上vi /srv/salt/httpd.sls //加入如下内容,这个就是httpd模块的内容
httpd-service: //定义的服务名称
pkg.installed: //salt内置的模块
- names: //这里如果只有一个服务,那么就可以写成 –name: httpd 不用再换一行了。
- httpd
- httpd-devel
service.running: //用于启动服务的模块
- name: httpd //需要启动服务的名称,该名称在/lib/systemd/system/(包含系统已启动的相关服务)下可查看
- enable: True
说明: httpd-service是id的名字,自定义的。pkg.installed 为包安装函数,下面是要安装的包的名字。service.running也是一个函数,来保证指定的服务启动,enable表示开机启动。
执行: salt 'centos2' state.highstate//执行过程会比较慢,因为客户端上在yum install httpd httpd-devel