Pillar是Salt非常重要的一个组件,它用于给特定的minion定义任何你需要的数据,这些数据可以被Salt的其他组件使用。这里可以看出Pillar的一个特点,Pillar数据是与特定minion关联的,也就是说每一个minion都只能看到自己的数据,所以Pillar可以用来传递敏感数据(在Salt的设计中,Pillar使用独立的加密session,也是为了保证敏感数据的安全性)。 另外还可以在Pillar中处理平台差异性,比如针对不同的操作系统设置软件包的名字,然后在State中引用等。

默认情况下,master配置文件中的所有数据都添加到Pillar中,且对所有minion可用。默认如下:

#pillar_opts: True 

[root@server_client base]# salt '*' pillar.items    #查看当前pillar的值\

server_client:
----------
_errors:
- Error encountered while rendering pillar top file.
master:
----------
__cli:
salt-master
__role:
master
allow_minion_key_revoke:
True
archive_jobs:
False

....

master上配置文件中定义pillar_roots,用来指定pillar的数据存储在哪个目录

pillar_roots:
base:
- /srv/salt/pillar

首先,和state系统一样,pillar也是需要一个top.sls文件作为一个入口,用来指定对象

base:
'client': #这里面表示谁可以使用pillar
- sl #这里指定了一个sl.sls文件

sl.sls文件:

{% if grains['os'] == 'CentOS' %}
var-sl: sl   #pillar定义了一个变量 var-sl 值为 sl
{% endif %}

测试刚才定义的pillar:

[root@server_client base]# salt '*' pillar.items

在State文件中将可以引用Pillar数据

进入/srv/salt/base目录 新建一个文件叫xxxx.sls   

sl-install:

  pkg.installed:
    - name: {{ pillar['var-sl'] }} #pillar数据中的定义的'var-sl' 变量

 

刷新pillar

[root@server_client base]# salt \* saltutil.refresh_pillar

saltStack_Pillar的更多相关文章

随机推荐

  1. rpmnew和rpmsave怎么来的

    RPM spec文件有个名为 %config 的宏,它可以标识配置文件,这样在升级时用户对配置文件做过的修改就不会丢失.没有它,用户千辛万苦修改过的配置文件会在升级过程中被覆盖. %config也可以 ...

  2. 凸优化 & 1概念

    ---恢复内容开始--- 放射集合 系数之和为1 相加仍然能在集合内,就是 纺射集合 子空间加一个常熟 就是纺射集合 , 例题2.1 一类特殊的线性方程组的解可以看作纺射 集合 纺射包 aff C 是 ...

  3. h5滚动页面固定导航

    1.需要效果 2.实现方法 (1)原生js实现 document.addEventListener('scroll', function (event) { var scrollDamo = wind ...

  4. jsp页面_按回车键触发事件

    一般在列表页面中,都会带有查询按钮,当输入完查询条件后,如果需要通过鼠标点击"查询"按钮才发起查询,那么就感觉不够方便,那么我们就可以修改为按下回车键的时候发起查询. <sc ...

  5. AOP Aspect 统一日志、异常处理、数据格式 【转】

    package com.gsww.chis.aop; import java.util.Arrays; import com.google.common.base.Throwables; import ...

  6. C++学习笔记----4.5 C++继承时的对象内存模型

    推荐阅读:http://blog.csdn.net/randyjiawenjie/article/details/6693337 最近研究了一下,C++继承的内存对象模型.主要是读了读http://b ...

  7. 安装docker报错问题

    安装docker容易出现错误的几种情况: 1.网络问题,无法下载完成的docker容器 2.linux内核版本必须是3.10及以上 3.可以选择使用aliyun的yum源,更好用 4.

  8. 电影的微信小程序

    最近,工作没有那么忙,学习了一下小程序开发,感觉上手比较简单. 在项目中学习是最好的方式,于是就自己模仿豆瓣电影开发一款微信小程序版的豆瓣电影 准备工作: 数据来源:豆瓣电影API 功能: 电影榜单列 ...

  9. Linux之源码包

    暂时感觉用不上,到时需要了解的时候再补上

  10. python字典排序取最值总结

    dic = {"abc":18,"adc":19,"abe":20} # 默认对键排序,从小到大,返回排序后键组成的列表 zidian = ...