SaltStack的Grains和Pillar

SaltStack的Grains和Pillar

标签(空格分隔): SaltStackubuntu


Grains理解为除了 id以外 ,用户能够自定义的属性
下面咱们经过Grains模块来设置并定义Grains信息:服务器

root@ubuntu:~# salt '*' grains.append saltbook 'verycool'
ub1:
    ----------
    saltbook:
        - verycool
root@ubuntu:~# 
root@ubuntu:~# 
root@ubuntu:~# salt '*' grains.item 'saltbook'
ub1:
  saltbook:
      verycool
ub2:
  saltbook:
      verycool

能够使用如下命令查看其它命令,也能够删除grainsapp

root@ubuntu:~# salt '*' sys.doc grains 
root@ubuntu:~# salt '*' grains.remove saltbook 'verycool'
ub2:
    ----------
    saltbook:
ub1:
    ----------
    saltbook:
root@ubuntu:~# salt '*' grains.item 'saltbook'     
ub2:
  saltbook:
ub1:
  saltbook:

Pillar也是SaltStack组件中很是重要的组件之一,是数据管理中心,咱们常常配合states在大规模的配置管理工做中使用它,Pillar在SaltStack中主要的做用就是存储和定义配置管理中须要的一些数据,好比软件版本号、用户名密码等信息,它的定义存储格式跟Grains相似,都是YAML格式this

在Master配置文件中有一段Pillar settings选项专门定义Pillar相关的一些参数:code

#pillar_roots:
#  base:
#    - /srv/pillar

如今咱们只须要了解pillar_roots相关的配置便可,默认Base环境下Pillar的工做目录在/srv/pillar目录下。
├── pillar
│   ├── packages.sls
│   └── top.slsrem

root@ubuntu:/srv/pillar# cat top.sls 
base:
  '*':
    - packages

top.sls的配置会引用/srv/pillar/下的packages的配置get

root@ubuntu:/srv/pillar# cat packages.sls 
describe: this is just a test
root@ubuntu:/srv/pillar# salt '*' pillar.item describe
ub2:
    ----------
    describe:
        this is just a test
ub1:
    ----------
    describe:
        this is just a test

经过sys.list_functions能够查看pillar的模块的用法it

root@ubuntu:/srv/pillar# salt '*' sys.list_functions pillar
ub2:
    - pillar.data
    - pillar.ext
    - pillar.get
    - pillar.item
    - pillar.items
    - pillar.raw
ub1:
    - pillar.data
    - pillar.ext
    - pillar.get
    - pillar.item
    - pillar.items
    - pillar.raw

pillar也能够从外部源获取,也能够从服务器上进行获取。io

相关文章
相关标签/搜索