这里我们用 SaltStack 服务端对多台客户端远程批量安装 httpd,步骤如下:

[root@localhost ~]$ vim /etc/salt/master    # 编辑配置文件,打开base环境,SaltStack工作在环境目录下
file_roots: # base(基础环境)、dev(开发环境)、test(测试环境)、prod(生产环境)
base:
- /srv/salt/
[root@localhost ~]$ mkdir -p /srv/salt # 创建base环境目录
[root@localhost ~]$ systemctl restart salt-master # 重启SaltStack服务
[root@localhost ~]$ cat /srv/salt/top.sls    # 编辑入口配置文件,文件名固定为top.sls
base: # 指定使用哪个环境
'*': # 指定针对哪些主机进行操作
- httpd # 指定加载哪些sls文件
[root@localhost ~]$ cat /srv/salt/httpd.sls  # 定义httpd.sls文件,以便让入口配置文件加载
httpd-service: # httpd-service 只是一个ID,方便我们查看
pkg.installed: # pkg.installed 是一个包安装函数,- name 用来指定要安装的包的名字
- names: # service.running 也是一个函数,用来指定启动哪些服务,并设置开机启动
- httpd
- httpd-devel
service.running:
- name: httpd
- enable: True
[root@localhost ~]$ salt '*' state.highstate    # 使用state模块来执行sls文件,会自动去找到/srv/salt/top.sls文件,然后top.sls加载httpd.sls文件对远程客户端进行操作
[root@localhost ~]$ salt '*' state.sls httpd # 也可以指定执行哪个sls文件
05-07 15:35