1.基本概念

(1)什么是Pillar?

Pillar是在salt 0.9.8版本后才添加的功能组件。它跟grains的结构一样,也是一个字典格式,数据通过key/value的格式进行存储。
在Salt的设计中,Pillar使用独立的加密sessiion,所以Pillar可以用来传递敏感的数据,例如ssh-key,加密证书等。
存储位置:存储在master端存放需要提供给minion的信息
应用场景:敏感信息,每个minion只能访问master分配给自己的信息

(2)pillar和grains的区别

本质上都是key / value 型的数据库。 Grains
是存储在minon上的数据,minion启动后就进行Grain计算,是一种静态数据。 Pillar 数据存储在master,
是动态数据,每个minion只能看到自已的pillar。
一个minion可以告诉master它的数据,而minion则需要从master索要pillar数据。
grains存储的是静态、不常变化的内容,pillar则相反 grains是存储在minion本地,而pillar存储在master本地
minion有权限操作自己的grains值,如增加、删除,但minion只能查看自己的pillar,无权修改 grains
这个跟puppet的facter一样,负责采集客户端一些基本信息 可以在客户端自定义 然后自动汇报上来 也可以从服务器端定义然后推下去
采集完后 再汇报上来 pillar 这个东西如果跟grains 比较的话 他的灵活性强点 想咋定义就咋定义 然后取值就行

2.grains演示过程如下

(1)在minion端设置开启grains,并且重启服务

SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
(2)在server1上通过grains查看角色
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
(3)在server3上编写文件
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
(4)在server1上同步模块并查看
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
(5)编写grains脚本变量并同步
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
(6)同步到server2:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
(7)调用grains变量:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
(8)grains匹配运用
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明

3.pillar的演示过程如下

(1)在master节点上面设置
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
(2)编辑两个文件
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
高级推:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
给server2安装httpd,server3安装nginx:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明

4.Jinja模板使用方式

jinja最基本的用法是使用控制结构包装条件:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明

SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
用变量引用端口:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
直接引用pillar变量:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
直接引用grains变量:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明

SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
定义变量文件:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
导入模板文件:
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明

SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明
SaltSack自动化运维(6)——grains(静态数据)+pillar(动态参数)的详细说明

相关文章:

  • 2021-09-21
  • 2022-02-06
  • 2022-12-23
  • 2021-10-01
  • 2021-08-09
  • 2022-02-24
  • 2021-05-25
  • 2021-04-13
猜你喜欢
  • 2021-10-25
  • 2022-01-30
  • 2021-05-31
  • 2021-11-10
  • 2022-12-23
  • 2021-06-19
相关资源
相似解决方案