Saltstack管理对象属性之grains和pillar组件
Grains组件
Grains是saltstack记录minion的一些静态信息组件,可以简单的理解为grains里面记录着每台minion的一些常用的属性,比如cpu、内存、磁盘、网络信息等,可以通过grains.items查看某台minion的grains所有信息,minion的grains信息是minion启动的时候采集汇报给master的。
grains会在minion进程启动时进行加载,并缓存在内存中。这样salt-minion进程无需每次操作都要重新检索系统来获取grain,提升了minion性能。
grains相关命令用法可用sys.list_functions grains来查看,详细用法可用sys.doc grains.items查看:

grains的定义:
通过minion配置文件定义
通过grains相关模块定义
通过python脚本定义
通过minion配置文件定义grains:
在配置文件中有默认的注释行,修改好配置文件重启minion服务

在master上通过salt 'minion-01' grains.item roles和salt 'minion-01' grains.item deployment就可查看刚才定义的grains值。
通过grains模块来设置并定义grains信息:
salt 'minion-01' grains.append sufe 'beauty'
salt 'minion-01' grains.setvals "{'salt': 'good','book': 'cool'}" #设置多对
salt 'minion-01' grains.item sufe #查看所定义的grains信息
现在都是将自定义的静态grain存在一个grain文件中(/etc/salt/grains),这样grains独立存储,易于在本地查找。能够通过执行模块进行修改。
Pillar组件
Pillar是数据管理中心,主要作用就是存储和定义配置管理中需要的一些数据,比如软件版本号、用户密码等信息,格式与grains类似,都是YAML格式。
Pillar也是Salt用来分发全局变量到所有minions的一个接口。安全起见,有些数据是不可以共享出来的,需要指定。比如高度敏感的数据:通过pillar传输的数据会保证只向选定的minions展现,这使得pillar可以作为Salt中管理安全信息的引擎,比如加密的key和密码。
通过master配置文件定义Pillar相关参数:
pillar_roots:
base:
- /srv/pillar
此处pillar工作目录为/srv/pillar。定义多个环境不同的pillar工作目录,去pillar工作目录新建top.sls文件然后引用两个sls文件即可。

grains和pillar比较:
1.grains存储的是静态数据、不常变化的内容,pillar则相反
2.grains是存储在minion本地,而pillar存储在master本地
3.minion有权限操作自己的grains值,如增加、删除,但minion只能查看自己的pillar,无权修改
后续再补充。
Saltstack管理对象属性之grains和pillar组件的更多相关文章
- saltstack之(五)数据系统Grains和Pillar
一.grains 1.什么是grainsgrains:存储minion端的信息,包括一些网络.硬件等信息,保存在minion端.一般为静态信息,非经常变化的数据. 2.grains的使用:获取mini ...
- SaltStack入门篇(三)之数据系统Grains、Pillar
1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.可以理解为Grains记录着每台Minion的一些常用属性,比如CPU ...
- Saltstack pillar组件
pillar组件 pillar也是Saltstack最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板.state.API等.在pillar中定义的数据与 ...
- Saltstack系列5:Saltstack之pillar组件
pillar组件 pillar也是Saltstack最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板.state.API等. 在pillar中定义的数据与 ...
- SaltStack数据系统之Grains、Pillar
SaltStack数据系统之Grains.Pillar 1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.Grains是 ...
- Saltstack数据系统Grains和Pillar(三)
Saltstack数据系统 分为Grains和Pillar 一.Grains 静态数据,当Minion启动的时候收集的MInion本地的相关信息.(包含操作系统版本.内核版本.CPU.内存.硬盘.设备 ...
- saltstack:使用教程之二高级模块用法Grains、Pillar
1.grains用法: 在客户端服务启动的时候收集客户的基础信息,在配置发生变化后也可以通过master重新同步 显示一个客户端的所有项目: [root@node5 ~]# salt "no ...
- 【02】Saltstack:Grains and Pillar
写在前面的话 上一节谈及了 Saltstack 的安装和初始化配置,本节将谈谈 Saltstack 中两个重要的东西,Grains 和 Pillar. 数据系统 Grains 入门 Grains 是静 ...
- 2. SaltStack数据系统: Grains、Pillar
1. SaltStack数据系统 Grains (谷物) Pillar (支柱) 2.Grains Grains存放着Salt命令启动时收集的信息,运行时不收集 2.1 信息查询 收集资产 网卡,i ...
随机推荐
- Spider-one
1. 爬虫是如何采集网页数据的: 网页的三大特征: -1. 每个网页都有自己的 URL(统一资源定位符)地址来进行网络定位. -2. 每个网页都使用 HTML(超文本标记语言)来描述页面信息. -3. ...
- python小练习:用户三次登陆, 购物车
2018.12.1 周末练习: 1.用户三次登陆 from random import randint i = 1 while i < 4: num = 0 verify_code = '' w ...
- MVC与单元测试实践之健身网站(六)-计划的添加与重置
健身计划需要使用者自己定制,没有现成的内容可供选择.本篇就是关于健身计划的添加与重置功能的一部分. 一 功能描述 a) 关于计划的定制,决定以周期的方式,比如有人会以一周为周期,然后安排每周的1.3. ...
- Android 云之声离线语音合成
离线语音解析 public class SpeechUtilOffline implements TTSPlayerListener { public static final String appK ...
- Android--px(像素)和dp、sp之间的相互转化
public class DensityUtil { public DensityUtil() { } public static int dip2px(Context var0, float var ...
- NB-IOT模块 M5310-A接入百度开放云IOT Hub MQTT
目录 1.登陆百度开放云,在产品服务中选择IOT HUB 2 2.选择 创建计费套餐,目前1百万条/每月是免费的 2 3.点击管理控制台进入项目列表 4 4. 点击创建项目,项目类型选择数据型 4 5 ...
- gridview导excel及解决导出中文乱码的方法
要全部展示数据,所以导出时要先将翻页取消,重新绑定数据:gridview的allowpaging属性设置为false,然后databind()一下 <%@ Page Language=" ...
- 关于excel中的查找
弹出查找界面后,点击“选项”按钮 在范围下拉框中选择: 1.工作表:表示在当前表sheet中进行查找 2.工作簿:表示在此excel整个文件中进行查找
- 在Java中动态传参调用Python脚本
最近,又接触到一个奇葩的接口,基于老板不断催促赶时间的情况下,在重写java接口和复用已有的python脚本的两条路中选择了后者,但是其实后者并没有好很多,因为我是一个对python的认识仅限于其名称 ...
- 6.3Pytyhon文件的操作(三)
目录 目录 前言 (一)文件的创建 (二)文件的删除 (三)文件的重命名 (四)文件的查看 (五)文件的复制 ==1.小文件的复制== ==2.大文件的复制== (六)文件的实战案例 ==1.文件的分 ...