SaltStack数据系统-Pillar

  上一篇:SaltStack数据系统-Grains

  

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

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

  查看pillar(默认为空)

1
salt '*' pillar.items

  修改配置文件设置成显示

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

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

 

  设置pillar

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

  新建这两个文件夹

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

  重启master

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

1
2
3
4
5
{% 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

1
2
3
base:
  '*':
    - apache

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

  刷新(不需要重启)

1
salt '*' saltutil.refresh_pillar

  查看

1
salt '*' pillar.items apache

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

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

 

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

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

1
2
3
4
5
6
7
8
apache-install:
  pkg.installed:
    - name: {{ pillar['apache'] }}
 
apache-service:
  service.running:
    - name: {{ pillar['apache'] }}
    - enable: True

  执行(不报错就是对的)

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

1
salt '*' state.highstate

  

  grains和pillar的对比

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

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

 

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

posted @   minseo  阅读(315)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示