上一篇:SaltStack数据系统-Grains

  

  使用saltstack进行配置管理可以使用pillar定义主机假如是Openstack修改了一下nova的密码就需要修改很多配置文件

  pillar很安全只有指定的人才能看

  查看pillar(默认为空)

salt '*' pillar.items

  修改配置文件设置成显示

  可以使用命令salt '*' pillar.items查看

  关闭配置以免影响自定义pillar

  设置pillar

  修改配置文件/etc/salt/master(pillar设置与file_roots设置很像但是作用完全不同)

  新建这两个文件夹

mkdir -p /srv/pillar/base
mkdir -p /srv/pillar/prod

  重启master

  编写pillar的sls文件/srv/pillar/base/apache.sls

{% if grains['os'] == 'CentOS' %}
apache: httpd
{% elif grains['os'] == 'Debian' %}
apache: apache2
{% endif %}

  这里加了if判断把grains加上了,其实简单一点直接写apache: httpd即可

  虽然写了pillar但是还没有指定谁用这个pillar需要写top.sls指定那个minion执行这个pillar

  配置文件/srv/pillar/base/top.sls

base:
'*':
- apache

  生产不要写*而是需要指定应用这个pillar的主机ID

  刷新(不需要重启)

salt '*' saltutil.refresh_pillar

  查看

salt '*' pillar.items apache

  PS:pillar放置一些敏感数据比如用户名密码等,因为pillar数据加密比较安全

    pillar是在master上面设置的和minion无关

  修改之前的apache安装的配置文件使用pillar的用法

  /srv/salt/base/web/apache.sls

apache-install:
pkg.installed:
- name: {{ pillar['apache'] }} apache-service:
service.running:
- name: {{ pillar['apache'] }}
- enable: True

  执行(不报错就是对的)

  这里其实是去字典里面的key为apache的value即是httpd

salt '*' state.highstate

  

  grains和pillar的对比

   存储位置      类型    采集方式         场景
Grains minion    静态   minion启动时,可以刷新   1,获取信息 2,匹配

Pillar master      动态   指定,实时生效         1,匹配 2,敏感数据配置

  下一篇:SaltStack远程执行-模块

最新文章

  1. 微信开发笔记:获取用户openid,以及用户头像昵称等信息
  2. ASP.NET Core 1.0中的管道-中间件模式
  3. android 入门-关键词介绍
  4. OSGI.NET 插件无法启动之情景一
  5. DevExpress navBarControl 和 xtraTabbedMdiManager实现浏览器标签页效果
  6. DelphiXE7中创建WebService(服务端+客户端)
  7. C字符串压缩算法
  8. CDOJ 486 Good Morning 傻逼题
  9. 前两篇转载别人的精彩文章,自己也总结一下python split的用法吧!
  10. 第13章 Swing程序设计----JFrame窗体
  11. 游戏UI框架设计(五): 配置管理与应用
  12. spring 注解方式配置Bean
  13. TCP/IP 免费ARP
  14. Django将默认的SQLite更换为MySQL
  15. MyBatis Generator自动创建代码
  16. 小佬頭眼里的读研VS工作
  17. 对WEB url 发送POST请求
  18. BZOJ4036 [HAOI2015]按位或 【minmax容斥 + 期望 + FWT】
  19. linux shell 命令获取字符串/文件的MD5值
  20. CentOS防火墙开启、关闭与开放指定端口

热门文章

  1. 怎样在tsung中使用动态參数(二)
  2. netty内存泄漏
  3. iptables安装失败后-------------firewalld回归
  4. Python字符与ASCII码转换
  5. mem_fun与mem_fun_ref的区别
  6. 从constructor中抛出exception后,constructor会返回null吗?
  7. [device]/proc/devices and /dev/
  8. CSS(六):盒子模型
  9. IOS让返回按钮显示自定义标题而不是上个ViewController的title
  10. 容斥 + 组合数学 ---Codeforces Round #317 A. Lengthening Sticks