SaltStack的Grains和Pillar
标签(空格分隔): SaltStack
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
可以使用以下命令查看其它命令,也可以删除grains
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格式
在Master配置文件中有一段Pillar settings选项专门定义Pillar相关的一些参数:
#pillar_roots:
# base:
# - /srv/pillar
现在我们只需要了解pillar_roots相关的配置即可,默认Base环境下Pillar的工作目录在/srv/pillar目录下。
├── pillar
│ ├── packages.sls
│ └── top.sls
root@ubuntu:/srv/pillar# cat top.sls
base:
'*':
- packages
top.sls的配置会引用/srv/pillar/下的packages的配置
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的模块的用法
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也可以从外部源获取,也可以从服务器上进行获取。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。