一、grains

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

2.grains的使用:
获取minion端信息
salt '192.168.3.1' grains.items --获取minion端所有的grains信息。
salt '192.168.3.1' grains.item fqdn --通过grains.item获取minion端的fqdn信息。
salt '192.168.3.1' grains.get fqdn --通过grains.get获取minion端的fqdn信息。

匹配salt的target
salt -G 'os:CentOS' cmd.run 'uptime' --匹配minion端OS为CentOS的执行uptime命令。

3.自定义grains(*重启才能获取grains信息)
1)编辑/etc/salt/minion定义grains信息。
[root@node1 ~]# grep -A 1 ^grains /etc/salt/minion
grains:
roles: zabbix-agent
[root@node1 ~]# salt '192.168.3.1' grains.item role
192.168.3.1:
----------
role:
zabbix-agent

2)单独的文件定义存储grains信息。(/etc/salt/grians)
[root@node1 ~]# cat /etc/salt/grains
role: nginx
[root@node1 ~]# salt '192.168.3.1' grains.item role
192.168.3.1:
----------
role:
nginx
3)在top.sls文件中使用grains
[root@node1 ~]# cat /etc/salt/top.sls
base:
  'role:nginx':
    - match: grains

*注释:建议使用单独的文件自定义grains的值,切勿多处定义。
4.使用工具刷新grains
[root@node1 ~] salt '*' saltutil.sync_grains

二、pillar
1.什么是pillar
pillar: 存储在master端,存放需要提供给minion的信息。常用于敏感信息,每个minion只能访问master分配给自己的pillar信息,更多的是经常动态的变化信息。

2.pillar的使用:
获取master端pillar的数据信息
salt '*' pillar.items|data

3.自定义pillar信息
[root@node1 ~]# grep -A 2 ^pillar /etc/salt/master
pillar_roots:
  base:
    - /srv/pillar
[root@node1 ~] mkdir /srv/pillar && cd /srv/pillar
[root@node1 pillar]# cat zabbix.sls
zabbix_server: 192.168.3.1
[root@node1 pillar]# cat top.sls
base:
  '*':
    - zabbix
4.使用saltutil工具的saltutil.refresh_pillar刷新pillar的值
[root@node1 pillar]# salt '*' saltutil.refresh_pillar
192.168.3.1:
True
node2.xkops.com:
True
5.获取在pillar中自定义的zabbix_server的值
[root@node1 pillar]# salt '*' pillar.data zabbix_server
node2.xkops.com:
----------
192.168.3.1:
----------
zabbix_server:
192.168.3.1

6.匹配salt的target
salt -I 'zabbix_server:192.168.3.1' test.ping

总结:
grains和pillar的区别
1.grains是静态、不常变化的;pillar则是动态的。
2.grains是存储在minion本地,而pillar存储在master本地。
3.minion有权限操作自己的grains值,如增加、删除,但minion只能查看自己的pillar,无权修改。

saltstack之(五)数据系统Grains和Pillar的更多相关文章

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

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

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

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

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

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

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

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

  5. 004-SaltStack入门篇之数据系统Grains、Pillar

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

  6. SaltStack数据系统之Grains、Pillar

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

  7. 【02】Saltstack:Grains and Pillar

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

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

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

  9. Saltstack_使用指南04_数据系统-Grains

    1. 主机规划 Grains文档 https://docs.saltstack.com/en/latest/topics/grains/index.html 注意事项 修改了master或者minio ...

随机推荐

  1. Solve error: 'class vtkImageActor' has no member named 'SetInput'

    Replacement of SetInput() with SetInputData() and SetInputConnection() someFilter->SetInput(someR ...

  2. mysqld服务器如何查看使用变量的值

    你能用这个命令得到mysqld服务器缺省缓冲区大小: shell> mysqld --help 这个命令生成一张所有mysqld选项和可配置变量的表.输出包括缺省值并且看上去象这样一些东西: P ...

  3. POJ 3468 A Simple Problem with Integers(线段树区间更新区间查询)

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 92632   ...

  4. centos最小安装,之后想安装x-windows,安装图形界面 startx

    yum groupinstall "Desktop"yum groupinstall "X Window System"安装完成之后,reboot一下,不然硬件 ...

  5. Tesseract 对验证码的识别原理和实现步骤

    一. Steps: 学习图片库--->处理图片(初步处理)--->校正.学习图片 二. Tesseract: 1. 采集图片库(一般每个出现的字符出现20次左右识别效果比较好),根据图片特 ...

  6. SVN客户端常用命令

    1. 将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如: cd /home/www  #进入准备获取的项目路径 svn checkout svn: ...

  7. oracle case when 语句

    原文:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html CASE WHEN 表达式有两种形式 简单Case函数 CASE ...

  8. Linux shell 变量 数学 运算

    Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 ...

  9. 【转】Eclipse Class Decompiler——Java反编译插件

    闲暇之余,写了一个Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class ...

  10. eclipse Maven -->web project

    http://blog.chinaunix.net/uid-26959955-id-3248053.html http://blog.csdn.net/wilsonke/article/details ...