SaltStack Grains 和 Pillar
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的更多相关文章
- Saltstack数据系统Grains和Pillar(三)
Saltstack数据系统 分为Grains和Pillar 一.Grains 静态数据,当Minion启动的时候收集的MInion本地的相关信息.(包含操作系统版本.内核版本.CPU.内存.硬盘.设备 ...
- saltstack:使用教程之二高级模块用法Grains、Pillar
1.grains用法: 在客户端服务启动的时候收集客户的基础信息,在配置发生变化后也可以通过master重新同步 显示一个客户端的所有项目: [root@node5 ~]# salt "no ...
- Saltstack管理对象属性之grains和pillar组件
Grains组件 Grains是saltstack记录minion的一些静态信息组件,可以简单的理解为grains里面记录着每台minion的一些常用的属性,比如cpu.内存.磁盘.网络信息等,可以通 ...
- SaltStack入门篇(三)之数据系统Grains、Pillar
1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.可以理解为Grains记录着每台Minion的一些常用属性,比如CPU ...
- 【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 ...
- Linux centosVMware 自动化运维认识自动化运维、启动salt相关服务、saltstack配置认证、salt-key命令用法、saltstack远程执行命令、saltstack - grains、saltstack – pillar
一.认识自动化运维 传统运维效率低,大多工作人为完成 传统运维工作繁琐,容易出错 传统运维每日重复做相同的事情 传统运维没有标准化流程 传统运维的脚本繁多,不能方便管理 自动化运维就是要解决上面所有问 ...
- SaltStack数据系统之Grains、Pillar
SaltStack数据系统之Grains.Pillar 1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.Grains是 ...
- saltstack之(五)数据系统Grains和Pillar
一.grains 1.什么是grainsgrains:存储minion端的信息,包括一些网络.硬件等信息,保存在minion端.一般为静态信息,非经常变化的数据. 2.grains的使用:获取mini ...
随机推荐
- JS中eval处理JSON数据 为什么要加括号
由于Ajax的兴起,JSON这种轻量级的数据格式作为客户端与服务器之间的传输格式逐渐地流行起来,进而出现的问题是如何将服务器端构建好的JSON数据转化为可用的JavaScript对象.利用eval函数 ...
- C++ vector清空元素的三种方法
#include <iostream> #include <vector> using namespace std; //STL vector的几种清空容器(删除)办法 voi ...
- Ubuntu16.04安装Mininet
Ubuntu16.04源码安装Mininet 本文介绍了VMware虚拟机ubuntu16.04中安装Mininet的方法,物理机中的方法与之相同.主要参考了Mininet官方的教程.官方提供了四种安 ...
- 如何能够通过代码来重启Android手机?
String cmd = "su -c reboot";//让手机从启 try { Runtime.getRuntime().exec(cmd); } catch (IOExcep ...
- 单表多个Count 条件进行查询拼接小妙用
单表多数据进行拼接 DROP table if EXISTS tmp_table; CREATE TEMPORARY TABLE tmp_table ( 创建临时表 SELECT p1q04,p2q0 ...
- Oracle 数据泵使用详解
数据泵使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端 ...
- Swing AWT一套新的图形界面系统
Swing 是在AWT的基础上构建的一套新的图形界面系统,它提供了AWT 所能够提供的所有功能,并且用纯粹的Java代码对AWT 的功能进行了大幅度的扩充. 例如说并不是所有的操作系统都提供了对树形控 ...
- Androidpn 简单实现及分析
(文中部分内容来自网络) XMPP协议: XMPP : The Extensible Messaging andPresence Protocol. 中文全称:可扩展通讯和表示协议. 简介:可扩展通讯 ...
- 转载: IM系统架构设计之浅见
出处:http://yaocoder.blog.51cto.com/2668309/1412029 背 景:除去大名鼎鼎的QQ这款即时聊天工具,还有许多细分行业的IM,比如淘宝阿里旺旺.网易泡泡.YY ...
- 工作所用的日常 Git 命令
几乎每个开发人员都在使用 Git,当然很可能是 GitHub.但大多数开发者大概有 99% 的时间只是使用这三个命令: #使用命令git add <file>,将文件添加到暂存区 git ...