Grains:

(1) grains 是服务器的一系列粒子信息,也就是服务器的一系列物理,软件环境信息
(2) grains 是 minion 启动时收集到的一些系统信息,比如操作系统版本、内核版本、CPU、内存、硬盘、设备型号等
(3) grains 信息并不是动态的,并不会实时变更,它是在 minion 启动时收集到的,但我们也可以自定义 grains 信息

[root@localhost ~]$ salt '192.168.119.140' grains.ls          # 列出这台 minion 上所有 grains 项目的名字
[root@localhost ~]$ salt '192.168.119.140' grains.items # 列出这台 minion 上所有 grains 项目的名字和值
[root@localhost ~]$ salt '192.168.119.140' grains.item os # 列出这台 minion 上指定 grains 项目的值
[root@localhost ~]$ salt -G 'os:CentOS' cmd.run 'hostname' # 我们可以通过grains信息来指定对哪些符合条件的minion进行操作

Pillar:

(1) pillar 跟 grains 的结构一样,也是一个字典格式,数据通过 key:value 的格式进行存储
(2) 不同点:grains 是存储在 minion 本地,而 pillar 是存储在 master 本地
(3) 不同点:grains 是 minion 启动时自动收集的,而 pillar 需要我们在 master 上自定义

[root@localhost ~]$ vim /etc/salt/master    # 编辑SaltStack服务端配置文件
#pillar_roots: # 定义存放pillar信息的目录,如果不定义,则默认是在/srv/pillar
# base: # /srv/pillar目录默认是不存在的,需要我们自行创建
# - /srv/pillar # 如果我们修改了SaltStack服务端配置文件,需要重启SaltStack服务端
[root@localhost ~]$ mkdir /srv/pillar           # 创建存放pillar信息的目录
[root@localhost ~]$ cat /srv/pillar/test.sls # 自定义pillar信息,注意使用sls文件
role: nginx
conf: /usr/local/nginx/conf/nginx.conf
domain: www.abc.com
[root@localhost ~]$ cat /srv/pillar/top.sls     # 定义pillar入口配置文件,入口配置文件的名字固定是top.sls
base:
'192.168.119.140': # 指定针对哪些主机来使用sls文件
- test # 指定加载哪些sls文件来获取pillar信息
[root@localhost ~]$ salt '*' saltutil.refresh_pillar           # 对所有主机刷新pillar信息
[root@localhost ~]$ salt -I 'role:nginx' cmd.run 'hostname' # 这样我们就可以针对pillar信息来对符合条件的主机进行操作了
192.168.119.140:
localhost.localdomain

SaltStack Grains 和 Pillar的更多相关文章

  1. Saltstack数据系统Grains和Pillar(三)

    Saltstack数据系统 分为Grains和Pillar 一.Grains 静态数据,当Minion启动的时候收集的MInion本地的相关信息.(包含操作系统版本.内核版本.CPU.内存.硬盘.设备 ...

  2. saltstack:使用教程之二高级模块用法Grains、Pillar

    1.grains用法: 在客户端服务启动的时候收集客户的基础信息,在配置发生变化后也可以通过master重新同步 显示一个客户端的所有项目: [root@node5 ~]# salt "no ...

  3. Saltstack管理对象属性之grains和pillar组件

    Grains组件 Grains是saltstack记录minion的一些静态信息组件,可以简单的理解为grains里面记录着每台minion的一些常用的属性,比如cpu.内存.磁盘.网络信息等,可以通 ...

  4. SaltStack入门篇(三)之数据系统Grains、Pillar

    1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.可以理解为Grains记录着每台Minion的一些常用属性,比如CPU ...

  5. 【02】Saltstack:Grains and Pillar

    写在前面的话 上一节谈及了 Saltstack 的安装和初始化配置,本节将谈谈 Saltstack 中两个重要的东西,Grains 和 Pillar. 数据系统 Grains 入门 Grains 是静 ...

  6. 2. SaltStack数据系统: Grains、Pillar

    1. SaltStack数据系统 Grains (谷物) Pillar (支柱) 2.Grains Grains存放着Salt命令启动时收集的信息,运行时不收集 2.1  信息查询 收集资产 网卡,i ...

  7. Linux centosVMware 自动化运维认识自动化运维、启动salt相关服务、saltstack配置认证、salt-key命令用法、saltstack远程执行命令、saltstack - grains、saltstack – pillar

    一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问 ...

  8. SaltStack数据系统之Grains、Pillar

    SaltStack数据系统之Grains.Pillar 1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.Grains是 ...

  9. saltstack之(五)数据系统Grains和Pillar

    一.grains 1.什么是grainsgrains:存储minion端的信息,包括一些网络.硬件等信息,保存在minion端.一般为静态信息,非经常变化的数据. 2.grains的使用:获取mini ...

随机推荐

  1. 自定义shareSDK的验证码短信内容

    应用中使用了shareSDK来做第三方登录和短信验证码的接收,但是想将短信内容修改为自己想要的内容 官方文档中并未详细提及:无GUI接口调用 默认的短信内容为: 如果只是要修改括号中的抬头,只需按照此 ...

  2. 如何使用Javascript XSLT 处理XML文件(支持Firefox)

    最近使用Firefox进行网页的调试,发现有些Javascript XSLT处理XML的语句仅仅支持IE浏览器.而网络中的一些介绍javascript XSLT 处理XML的文章基本上都是依据AJAX ...

  3. Action.c(37):Error-27791:Server"192.168.2.111" has shut down the connection paematurely

    1)测试的时候最好应用干净的测试环境,即:清楚一切可能干扰的对象:2)如果出了这种错误,要认真的去排查错误,不单单找找脚本,或者[b][url=http://www.ltesting.net/html ...

  4. android 系统广播

    Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00012731 String ADD_SHORTCUT_ ...

  5. Numpy 产生随机的一维, 二维数组代码

    而Python内置的random模块则只能一次生成一个样本值.从下面的测试结果中可以看出, 如果需要 产生大量样本值,numpy.random 快了不止一个数量级: 部分numpy.random 函数 ...

  6. (笔记)Linux下的静态库和动态库使用详解

    库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.库分静态库和动态库两种. 一.静态库和动态库的区别 1. 静态函数库 这类库的名字一般是libxxx.a:利用静态函数库编译成的文件比 ...

  7. mybatis plus 联合查询

    在xml中只需要需要写如下的代码即可实现分页: <select id="selectUserList" parameterType="map" resul ...

  8. 一步步配置cordova android开发环境

    .先安装jdk-8u111-windows-x64(安装jdk1.) .安装android sdk(Android Stand-alone SDK Tools) .配置环境变量 环境变量: JAVA_ ...

  9. c/c++ 代码中使用sse指令集加速

    使用SSE指令,首先要了解这一类用于进行初始化加载数据以及将暂存器的数据保存到内存相关的指令, 我们知道,大多数SSE指令是使用的xmm0到xmm8的暂存器,那么使用之前,就需要将数据从内存加载到这些 ...

  10. Python爬虫学习——光学字符识别

    使用pytesseract库对图片文件(jpg.png.bmp等)进行识别,把图片转换成字符串输出. import pytesseract from PIL import Image img = Im ...