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 ...
随机推荐
- Vim 学习资料
VIM中文手册 简明 Vim 练级攻略 所需即所获:像 IDE 一样使用 vim
- mysql 动态sql语句
; SET @ss = ' INSERT INTO prod_attr SELECT ? AS prod_id,A.* FROM ( SELECT 1 AS attr_id,\'中国出版社\' AS ...
- php任何优化的方式下这样第个列表都是再次查询
我们的代码经理是这样的:计算总行数:select count(*) from tablename where -..查询列表select * from tablename where - limit- ...
- Linux系统管理员踢用户的方法
两种方法:1.使用pkill命令 1.1 通过who 或则 w 查看当前连接的用户 例如: w USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT jjony pts/0 ...
- HDU 4417 Super Mario(主席树求区间内的区间查询+离散化)
Super Mario Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 每天php函数 - floatval() 获取变量的浮点值
float floatval ( mixed $var ) 返回变量 var的 float 数值. var 可以是任何标量类型.你不能将 floatval() 用于数组或对象. <?php$va ...
- Nginx 笔记与总结(4)配置 server 访问日志
打开 nginx.conf: [root@localhost ~]# cd /usr/local/nginx/conf [root@localhost conf]# vim nginx.conf 在默 ...
- artDialog ( v 6.0.2 ) content 参数引入页面 html 内容
/*! artDialog v6.0.2 | https://github.com/aui/artDialog */ 将页面某一隐藏的 div 的 html 内容传到 artdialog 的弹窗中,并 ...
- 简单实现Redis缓存中的排序功能
1.在实现缓存排序功能之前,必须先明白这一功能的合理性.不妨思考一下,既然可以在数据库中排序,为什么还要把排序功能放在缓存中实现呢?这里简单总结了两个原因:首先,排序会增加数据库的负载,难以支撑高并发 ...
- extjs文件上传
EXT学习教程:http://www.cnblogs.com/iamlilinfeng/category/385121.html Ext文件上传: 例子用到的jar: 1.upload.js /* ...