这里我们用 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文件