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

相關文章
相關標籤/搜索