saltstack之(五)数据系统Grains和Pillar
一、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的更多相关文章
- Saltstack数据系统Grains和Pillar(三)
Saltstack数据系统 分为Grains和Pillar 一.Grains 静态数据,当Minion启动的时候收集的MInion本地的相关信息.(包含操作系统版本.内核版本.CPU.内存.硬盘.设备 ...
- 2. SaltStack数据系统: Grains、Pillar
1. SaltStack数据系统 Grains (谷物) Pillar (支柱) 2.Grains Grains存放着Salt命令启动时收集的信息,运行时不收集 2.1 信息查询 收集资产 网卡,i ...
- SaltStack入门篇(三)之数据系统Grains、Pillar
1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.可以理解为Grains记录着每台Minion的一些常用属性,比如CPU ...
- Saltstack管理对象属性之grains和pillar组件
Grains组件 Grains是saltstack记录minion的一些静态信息组件,可以简单的理解为grains里面记录着每台minion的一些常用的属性,比如cpu.内存.磁盘.网络信息等,可以通 ...
- 004-SaltStack入门篇之数据系统Grains、Pillar
1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.可以理解为Grains记录着每台Minion的一些常用属性,比如CPU ...
- SaltStack数据系统之Grains、Pillar
SaltStack数据系统之Grains.Pillar 1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.Grains是 ...
- 【02】Saltstack:Grains and Pillar
写在前面的话 上一节谈及了 Saltstack 的安装和初始化配置,本节将谈谈 Saltstack 中两个重要的东西,Grains 和 Pillar. 数据系统 Grains 入门 Grains 是静 ...
- saltstack:使用教程之二高级模块用法Grains、Pillar
1.grains用法: 在客户端服务启动的时候收集客户的基础信息,在配置发生变化后也可以通过master重新同步 显示一个客户端的所有项目: [root@node5 ~]# salt "no ...
- Saltstack_使用指南04_数据系统-Grains
1. 主机规划 Grains文档 https://docs.saltstack.com/en/latest/topics/grains/index.html 注意事项 修改了master或者minio ...
随机推荐
- 你能不用计算机来计算S=a+(a+1)+(a+2) + ...... + b的解的数目吗?
S=a + (a + 1) + (a + 2) + ...... + b(其中a, b > 0) 现在我们要求,给定一个正整数S,求有多少种不同的<a,b>,使得上述的等式成立. 这 ...
- 提示用户升级IE6浏览器的办法
IE6一直饱受设计者们的诟病,互联网风云变幻十多年,唯一没变的就是这款在当初被微软内置在winxp系统而又火的不行的浏览器.而如今,在日新月异的网络环境下,IE6却让一个原本美观整洁的网页变得满目疮痍 ...
- ArcGISDynamicMapServiceLayer 实现条件过滤
<html> <head> <meta http-equiv="Content-Type" content="text/html; ...
- Open vSwitch流表应用实战
本文参考:Open vSwitch流表应用实战 一个通过改变流表下发而实现的互相通信实验. 实验目的: 掌握Open vSwitch下发流表操作: 掌握添加.删除流表命令以及设备通信的原理. 原理:. ...
- markdown 书写表格
Tables Are Cool col 3 is right-aligned $1600 col 2 is centered $12 zebra stripes are neat $1 Refs ma ...
- HTML: Css初始化
相同的元素, 如ul>li,body等元素在不同的瀏覽器下被渲染的效果不同(各個瀏覽器對這些元素的border,margin,padding,font-size等等的初始值不同), 要讓他們表現 ...
- Bootstrap页面布局3 - BS布局以及流动布局
1. <h1 class='page-header'>布局<small> 使用bootstrap网格系统布局网页</small></h1> 得到如图所示 ...
- 转: css box-sizing的用法
當你設定一個元素樣式為 box-sizing: border-box;,這個元素的內距和邊框將不會增加元素本身的寬度. <!DOCTYPE html> <html lang=&quo ...
- C++内嵌汇编代码,简单文件加密
#include <iostream> #include <fstream> using namespace std; int main(int argc, char* arg ...
- js实现选项卡
通过JavaScript实现如上选项卡切换的效果. 实现思路: 一.HTML页面布局 选项卡标题使用ul..li 选项卡内容使用div 二.CSS样式制作 整个选项卡的样式设置 选项卡标题的样式设置 ...