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: '*': - 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也可以从外部源获取,也可以从服务器上进行获取。