您的位置 首页 站长运营

saltstack3 pillar模块

pillar模块: 特点:给minion指定它想要的数据,给哪个minion指定,哪个minion能看到,,其他minion看不到,安全性得到了保障,在master端设置的 pil…

pillar模块:


特点:给minion指定它想要的数据,给哪个minion指定,哪个minion能看到,,其他minion看不到,安全性得到了保障,在master端设置的


pillar应用场景:

1、敏感数据

比如给某一个配置文件设置个密码,这个密码只希望某个minion能看到

2、使用pillar处理变量的差异性

3、做配置管理时用pillar定义一些变量参数

4、定位主机



[root@linux-node1 ~]# salt ‘*’ pillar.items

linux-node2:

———-

linux-node1:

———-

pillar模块默认是关闭的,需要在master配置文件打开:


[root@linux-node1 ~]# vim /etc/salt/master

pillar_opts: True

##保存退出,重启salt-master


[root@linux-node1 ~]# salt ‘linux-node1’ pillar.items

linux-node1:

———-

master:

———-

__role:

master

auth_mode:

1

auto_accept:

False

cache_sreqs:

True

cachedir:

/var/cache/salt/master

………skip………………….

下面我们学习怎么定义pillar的数据:

[root@linux-node1 ~]# vim /etc/salt/master

pillar_roots:

base:

– /srv/pillar

pillar_opts: False

##保存退出,创建目录,重启salt-master

mkdir /srv/pillar

/etc/init.d/salt-master restart


[root@linux-node1 ~]# vim /srv/pillar/apache.sls ##jinjia模板

{% if grains[‘os’] == ‘CentOS’ %}

apache: httpd

{% elif grains[‘os’] == ‘Debian’ %}

apache: apache2

{% endif %}

单独运行上面语句没有任何作用,,下面指定哪个minion能看到apache.sls,进行调用

[root@linux-node1 ~]# vim /srv/pillar/top.sls ##这是pillar的top.sls,和上面的top.sls没有任何关系

base:

‘*’:

– apache

##让所有的机器都能看到apache的pillar

[root@linux-node1 ~]# salt ‘*’ pillar.items

linux-node2:

———-

apache:

httpd

linux-node1:

———-

apache:

httpd

使用pillar时,在修改完配置文件后,要刷新下使之生效才可以使用,不刷新可以获取到,但不可以用

[root@linux-node1 ~]# salt -I ‘apache:httpd’ test.ping ##-I是pillar的缩写

linux-node2:

Minion did not return. [No response]

linux-node1:

Minion did not return. [No response]

[root@linux-node1 ~]# salt ‘*’ saltutil.refresh_pillar

linux-node2:

True

linux-node1:

True

[root@linux-node1 ~]# salt -I ‘apache:httpd’ test.ping

linux-node1:

True

linux-node2:

True



grains和pillar的区别:

名称 存储位置 数据类型 数据采集更新方式 应用
Grains minion端 静态数据 minion启动时收集,也可以使用
saltutil.sync_grains进行刷新
存储minion基本数据。比如用于
匹配minion,自身数据可以用来
做资产管理等。
Pillar master端 动态数据 在master端定义,指定给对应的
minion。
可以使用saltutil.sync_pillar刷新。
存储master指定的数据,只有指
定的minion可以看到,用于敏感
数据保存。


本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/42623.html

为您推荐

返回顶部