安装httpd

保证/etc/salt/master中以下配置生效

file_roots:

  base:

    - /srv/salt

/srv/salt目录没有的话需要创建

在/srv/salt下创建一个sls文件packages.sls,输入如下内容并保存:

httpd:

  pkg.installed

执行salt '*' packages.sls httpd就可以在所有minion上安装httpd的包

也可以单台设备执行

以上配置不推荐使用


通常会在/srv/salt下创建top.sls文件,该文件是Saltstack入口配置文件。Saltstack "top.sls"文件开头一般用base:书写,通配符'*'表示所有的minion,servers_packages表示/srv/salt下的servers_packages.sls文件。

base:

  'S@192.168.247.131':

    - servers_packages

    - conf

  'S@192.168.247.130':

    - unix2dos

可根据不同的主机来配置不同的配置要求

创建servers_packages.sls文件,并输入如下信息:

httpd:

  pkg.installed: []

  service.running:

    - watch:

      - pkg: httpd

      - file: /etc/httpd/conf/httpd.conf

pkg.installed表示[模块].[方法],同理service.running也一样

这里表示安装或者更新httpd包并保证服务正常运行


文件同步:

创建conf.sls(top.sls已包含该文件),并输入一下内容

/etc/httpd/conf/httpd.conf:

  file.managed:

    - source: salt://server/httpd.conf

    - user: root

    - group: root

    - mode: 644

    - require:

      - pkg: httpd

source表示master下/srv/salt/server/httpd.conf文件,下面三行表示文件属性,最下面require声明要在httpd包安装之后执行


执行salt '192.168.247.131' state.highstate后master会在匹配的minion上安装httpd包并运行服务,之后同步httpd.conf文件到minion上。