saltstack grain pillar

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了saltstack grain pillar相关的知识,希望对你有一定的参考价值。

Grain Pillar概念

本质上都是key value 型的数据库。
Grains 是存储在minon上的数据,minion启动后就进行Grain计算,是一种静态数据。
Pillar 数据存储在master, 是动态数据,每个minion只能看到自已的pillar。
一个minion可以告诉master它的数据,而minion则需要从master索要pillar数据。

列出所有minion上的Grains项
salt ‘SN18‘ grains.ls

查询 minion上某一具体Grain的值
salt "SN18" grains.item ipv4

列出对应minion上所有Grain 的详细信息
salt ‘SN18‘ grains.items
+++++++++++++++++++++++++++++++
设置 Grains 数据
命令行方式
1)单个值设置
]# salt ‘SN28‘ grains.setval my_grain bar
SN28:

my_grain:
    bar

查询
]# salt ‘SN28‘ grains.item my_grain
SN28:

my_grain:
    bar

2)多个值设置
]# salt ‘SN28‘ grains.setvals "{‘key1‘:‘val1‘,‘key2‘:‘val2‘}"
SN28:

key1:
    val1
key2:
    val2

查询命令
]# salt ‘SN28‘ grains.item key1
SN28:

key1:
    val1

3)列表结构设置
]# salt ‘SN28‘ grains.setval my_list ‘[‘one‘,‘two‘,‘three‘]‘
SN28:

my_list:
    - one
    - two
    - three

查询命令
]# salt ‘SN28‘ grains.item my_list
SN28:

my_list:
    - one
    - two
    - three

查看对应的minion的/etc/salt/grains 可以发现已经写入的Grains数据
]# salt ‘SN28‘ cmd.run "cat /etc/salt/grains"
SN28:
key1: val1
key2: val2
my_grain: bar
my_list:

  • one
  • two
  • three

grains_module的方式设置
在master上建立模块对应的目录

]# mkdir -pv /srv/salt/_grains
mkdir: created directory ‘/srv/salt/_grains’
]# vim /srv/salt/_grains/my_grain_mod.py
import time
def now():
grains={}
grains[‘now‘]=time.time()
return grains
-----------------------同步有没有生效--
同步模块到minion
]# salt ‘SN28‘ saltutil.sync_all

重载一次模块
]# salt ‘SN28‘ sys.reload_moduls

查看新设置的Grians
]# salt ‘SN28‘ grains.item now

在minion端设置

登陆到一台minion
vim /etc/salt/minion.d/grains.conf
grains:
roles:

  • webserver
  • memcach
    deployment: datacenter4
    cabinet: 13
    cab_u: 14-15
    重启salt-minion加载新的配置文件,在satl-master上查看
    ]# salt ‘SN27‘ grains.item roles
    SN27:

    roles:

  • webserver
  • memcach

删除自定义Grains
通过 grains.setval 设置的Grain 可以直接通过下面命令删除

]# salt ‘SN28‘ grains.delval my_grain
SN28:
None
++++++++++++++++++++++++++++++++++++

列出minon上所有Pillar的详细信息
[[email protected] ~]# salt ‘SN28‘ pillar.items

以上是关于saltstack grain pillar的主要内容,如果未能解决你的问题,请参考以下文章

saltstack grains pillar

Saltstack数据系统Grains和Pillar

SaltStack Grains 和 Pillar

saltstack grains与pillar使用和订制

saltstack之grains与pillar

saltstack数据系统之Grains,pillar