SaltStack数据系统-Pillar
使用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远程执行-模块
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!