saltstack之pillar

grains存储于minion端,主要是minion在启动时收集系统信息发送至master,可以自定义。
pillar存储于master端,此类数据加密,

举例:

/etc/salt/master配置:
pillar_roots:
  base:
    - /srv/pillar/base
  prod:
    - /srv/pillar/prod
# 定义了base环境与prod环境所使用不同pillar属性值

编排stats目录:

[root@node2 pillar]# pwd
/srv/pillar
[root@node2 pillar]# tree
    ├── base
    │   ├── ceshi
    │   │   └── init.sls
    │   └── top.sls
    └── prod
      ├── rabbitmq
      │   └── init.sls
    └── top.sls
#  设置base属性,
[root@node2 pillar]# cat base/top.sls 
base:
  '*':
    - ceshi
[root@node2 pillar]# cat base/ceshi/init.sls 
os1:
  osnum: 1

#  设置prod属性,
[root@node2 pillar]# cat prod/top.sls 
prod:
   '*':
     - rabbitmq
[root@node2 pillar]# cat prod/rabbitmq/init.sls 
os2:
  osnum: 2

在设置属性值时可以根据grains值来进行判断之后在设置,非常灵活。

# 例子:
pkgs:
  {% if grains['os'] == 'CentOS' %}
  apache: httpd
  git: git
  {% elif grains['os'] == 'SUSE' %}
  apache: apache2
  git: git-core
  {% endif %}

更新pillar属性:

# salt '*' saltutil.refresh_pillar

查看pillar定义属性是否生效:

# salt '*' pillar.items os1
# salt '*' pillar.items os2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,886评论 18 139
  • 简述 saltstacksaltstack是一个新的基础平台管理工具,只需要花费数分钟即可运行起来,可以支撑管理上...
    君惜丶阅读 4,968评论 0 2
  • 当踏上自我提升的学习之路,“21天”便不断跳入视线,各种21天训练营,21天打卡群,21天挑战团……,探究一下“2...
    zi珣阅读 312评论 0 5