SSCCGo 2019-06-20
标签(空格分隔): 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:
'*':
- packagestop.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.rawpillar也可以从外部源获取,也可以从服务器上进行获取。