23213 发表于 2016-4-20 09:33:31

saltstack学习笔记5-Pillar

Pillar在SaltStack中主要的作用就是存储和定义配置管理中需要的一些数据,比如软件版本号、用户名密码等信息,它的定义存储格式跟Grains类似,都是YAML格式

Pillar在SaltStack中主要的作用就是存储和定义配置管理中需要的一些数据

Master配置文件中有一段Pillar settings选项专门定义Pillar相关的一些参数:
#pillar_roots:
#base:
#    - /srv/pillar

需要了解pillar_roots相关的配置,默认Base环境下Pillar的工作目录在/srv/pillar目录下

如果你想定义多个环境不同的Pillar工作目录,只需要修改这处配置文件即可

这里我们使用默认路径,如果使用默认路径,建立目录 mkdir -pv /srv/pillar
在pillar目录下建立top.sls入口文件,其中引用两个文件


base:    #指定环境
'*'    #target
    - packages    #引用packages.sls或者packages/init.sls
    - services    #同上

建立packages.sls文件

zabbix:
package-name: zabbix
version: 2.2.4

建立services.sls文件
zabbix:
port: 10050
user: admin

通过以下命令查看关于Pillar相关的一些模块用法
salt 'minion1' sys.list_functions pillar
minion1:
    - pillar.data
    - pillar.ext
    - pillar.get
    - pillar.item
    - pillar.items
    - pillar.raw

详细用法与例子可以通过命令salt'Minion'sys.doc pillar查看
查看下刚刚定义的pillar
salt 'minion1' pillar.item zabbix
minion1:
    ----------
    zabbix:
      ----------
      package-name:
            zabbix
      port:
            10050
      user:
            admin
      version:
            2.2.4
--------------------------------------------------------------------------
saltstack支持从外部读取pillar数据,我们可以把pillar数据存储在数据库或存储服务器上,这里先不讲怎么存储和使用。

页: [1]
查看完整版本: saltstack学习笔记5-Pillar