Salt: 配置管理

2017-04-12  本文已影响119人  真徐小白

Salt的另一大功能就是配置管理,通过SLS文件定义服务状态。

简单的例子:安装apache

需要存在epel源

salt文件系统
salt自己维护了一个文件系统,以供调用。sls文件也存在于此

配置文件系统路径
/etc/salt/master

file_roots:
  base:
    - /srv/salt

编写根文件
/srv/salt/base.sls

base:
  'host2':
    - webserver

1: 定义环境,salt可以区分不同环境定义sls文件
2: 匹配minion,支持前面提到的各种方式,这里以ID为host2的minion为例
3: 调用的sls文件

编写sls文件
/srv/salt/webserver.sls

apache: 
  pkg: 
    - installed

1: ID
2: state 模块,这里是包管理模块
3: 模块参数,确保apache软件包是安装的

应用state

salt '*' state.apply

应用stats时会进行两次匹配,首先匹配运行命令行中的主机,匹配的主机会下载根sls文件进行匹配,如果本机与sls文件中的目标匹配,则下载调用的sls文件并执行

依赖

Salt 支持状态的依赖关系.
require 当前需要需要其他状态的存在
watch 监控状态变动触发当前动作

apache:
  pkg.installed: []
  service.running:
  - require:
    - pkg: apache

/var/www/index.html: 
  file:
    - managed 
    - source: salt://webserver/index.html 
    - require:
      - pkg: apache
/etc/httpd/extra/httpd-vhosts.conf:
  file.managed:
    - source: salt://webserver/httpd-vhosts.conf
apache:
  pkg.installed: []
  service.running:
    - watch:
    - file: /etc/httpd/extra/httpd-vhosts.conf
    - require:
    - pkg: apache
上一篇下一篇

猜你喜欢

热点阅读