3.saltstack的grains和pillar学习笔记
作者:刘耀
QQ:22102107
SaltStack_Grains
Grains
grains是minion第一次启动的时候采集的静态数据,可以用在salt的模块和其他组件中。其实grains在每次的minion启动(重启)的时候都会采集,即向master汇报一次的。
1 . 查看minion的全部静态变量
[root@node1 ~]# salt '*' grains.items
node2.minion:
----------
SSDs:
cpu_flags:
- fpu
- de
- pse
- tsc
- msr
- pae
- mce
- cx8
- apic
- sep
- mtrr
- pge
- mca
- cmov
- pse36
- clflush
- mmx
- fxsr
- sse
- sse2
- ht
- syscall
- nx
- lm
- up
- rep_good
- unfair_spinlock
- pni
- cx16
- popcnt
- hypervisor
- lahf_lm
- abm
cpu_model:
QEMU Virtual CPU version 1.2.0
cpuarch:
x86_64
domain:
fqdn:
localhost
fqdn_ip4:
- 127.0.0.1
fqdn_ip6:
- ::1
gpus:
|_
----------
model:
GD 5446
vendor:
unknown
host:
localhost
hwaddr_interfaces:
----------
eth0:
52:54:00:05:9e:b4
lo:
00:00:00:00:00:00
id:
node2.minion
init:
upstart
ip4_interfaces:
----------
eth0:
- 10.105.61.227
lo:
- 127.0.0.1
ip6_interfaces:
----------
eth0:
lo:
ip_interfaces:
----------
eth0:
- 10.105.61.227
lo:
- 127.0.0.1
ipv4:
- 10.105.61.227
- 127.0.0.1
ipv6:
kernel:
Linux
kernelrelease:
2.6.32-504.el6.x86_64
locale_info:
----------
defaultencoding:
UTF8
defaultlanguage:
en_US
detectedencoding:
UTF-8
localhost:
node2
lsb_distrib_codename:
Final
lsb_distrib_id:
CentOS
lsb_distrib_release:
6.6
machine_id:
9293b91f6111b402930f04c20000000f
master:
115.29.51.8
mdadm:
mem_total:
996
nodename:
node2
num_cpus:
1
num_gpus:
1
os:
CentOS
os_family:
RedHat
osarch:
x86_64
oscodename:
Final
osfinger:
CentOS-6
osfullname:
CentOS
osmajorrelease:
6
osrelease:
6.6
osrelease_info:
- 6
- 6
path:
/sbin:/usr/sbin:/bin:/usr/bin
ps:
ps -efH
pythonexecutable:
/usr/bin/python2.6
pythonpath:
- /usr/bin
- /usr/lib64/python26.zip
- /usr/lib64/python2.6
- /usr/lib64/python2.6/plat-linux2
- /usr/lib64/python2.6/lib-tk
- /usr/lib64/python2.6/lib-old
- /usr/lib64/python2.6/lib-dynload
- /usr/lib64/python2.6/site-packages
- /usr/lib/python2.6/site-packages
- /usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info
pythonversion:
- 2
- 6
- 6
- final
- 0
saltpath:
/usr/lib/python2.6/site-packages/salt
saltversion:
2015.5.8
saltversioninfo:
- 2015
- 5
- 8
- 0
selinux:
----------
enabled:
False
enforced:
Disabled
server_id:
556532862
shell:
/bin/bash
virtual:
kvm
zmqversion:
3.2.5
2.显示grains的变量名称
[root@node1 ~]# salt '*' grains.ls
node2.minion:
- SSDs
- cpu_flags
- cpu_model
- cpuarch
- domain
- fqdn
- fqdn_ip4
- fqdn_ip6
- gpus
- host
- hwaddr_interfaces
- id
- init
- ip4_interfaces
- ip6_interfaces
- ip_interfaces
- ipv4
- ipv6
- kernel
- kernelrelease
- locale_info
- localhost
- lsb_distrib_codename
- lsb_distrib_id
- lsb_distrib_release
- machine_id
- master
- mdadm
- mem_total
- nodename
- num_cpus
- num_gpus
- os
- os_family
- osarch
- oscodename
- osfinger
- osfullname
- osmajorrelease
- osrelease
- osrelease_info
- path
- ps
- pythonexecutable
- pythonpath
- pythonversion
- saltpath
- saltversion
- saltversioninfo
- selinux
- server_id
- shell
- virtual
- zmqversion
3.显示某一个变量
[root@node1 ~]# salt '*' grains.item os
node2.minion:
----------
os:
CentOS
获取的是键值对 os:centos
[root@node1 ~]# salt '*' grains.item num_cpus
node2.minion:
----------
num_cpus:
1
4.直接获取内容
[root@node1 ~]# salt '*' grains.get os
node2.minion:
CentOS
5.-G的使用
-G就是grains
[root@node1 ~]# salt -G 'os:CentOs' test.ping
node2.minion:
True
如果os的centos的 执行test.ping
6.自定义grains
在minion端修改配置文件:
加入以下内容
grains:
roles: nginx
env: prod
重启服务
在master端执行:
[root@node1 ~]# salt -G 'env:prod' test.ping
node2.minion:
True
7.基于文件的grains
在minion端
新建grains文件
touch /etc/salt/grains
写入以下内容:
centos: node2
重启服务
master端执行:
[root@node1 ~]# salt -G 'centos:node2' test.ping
node2.minion:
True
不重启minion端 刷新grains
1.修改minion配置文件
[root@node2 ~]# cat /etc/salt/grains
centos: node2
test: node2
2.master端刷新
[root@node1 ~]# salt '*' saltutil.sync_grains
node2.minion:
3.测试
[root@node1 ~]# salt -G 'test:node2' test.ping
node2.minion:
True
pillar
给minion定义想要的数据
配置管理:
1.修改master配置文件
pillar_roots:
base:
- /etc/salt/pillar
创建
mkdir /etc/salt/pillar
进入
cd /etc/salt/pillar/
vim top.sls
base:
'*':
- init.rsyslog
mkdir init
cd init/
vim rsyslog.sls
{% if grains['osfinger'] == 'CentOS-6' %}
syslog:rsyslog
{% elif granins['osfinger'] == 'CentOS-5' %}
syslog: syslog
{{ endif }}
3.saltstack的grains和pillar学习笔记的更多相关文章
- Saltstack数据系统Grains和Pillar(三)
Saltstack数据系统 分为Grains和Pillar 一.Grains 静态数据,当Minion启动的时候收集的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 ...
- saltstack(三) grains、pillar的使用
一,grains grains: 这个跟puppet的facter功能一样.主要负责采集客户端一些基本信息, 这个也完全可以自定义,可以在客户端自定义,然后自动汇报上来:也可以从服务器端定义然后推下去 ...
- Linux-saltstack-3 saltstack的grains和pillar的基本使用
@ 目录 一.简介 二.grains 1.查看客户端所有的grains项 2.查看grains的所有的项和值 3.查看某个项和值 (1)语法1: (2)语法2: 4.根据grains来匹配目标主机 例 ...
- 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 ...
- SaltStack数据系统之Grains、Pillar
SaltStack数据系统之Grains.Pillar 1.什么是Grains? Grains是saltstack的组件,用于收集salt-minion在启动时候的信息,又称为静态信息.Grains是 ...
随机推荐
- linux下如何安装charles
charles是很好的抓包工具. 如何安装呢? 可以去官网下载:http://www.charlesproxy.com/download/ 如果是Debian系列的,可以直接用apt-get 安装 h ...
- Java当中的内存分配以及值传递问题内存解析
首先必须说明作为Java程序员对于内存只要有大致的了解就可以了,如果你对Java当中的某一个知识点在不需要分析内存分配过程的情况下可以掌握,那就大可不必去研究内存.如果你对知识点已经掌握,那么你应该把 ...
- 基础知识系列☞各版本下IIS请求处理过程区别
转载地址→http://www.cnblogs.com/fsjohnhuang/articles/2332074.html ASP.NET是一个非常强大的构建Web应用的平台, 它提供了极大的灵活性和 ...
- 给select添加自定义值和选项
添加选项: document.getElementById("id_select").options.add(new Option("name", " ...
- 360随身WIFI程序单文件绿色版及网卡驱动(附使用感受)
大家好,我是Colin,今天刚收到传说中的360WIFI,拿到手后马上就进行了测试.就做工而言,19.9的价格算是比较公道的,网卡很小,做工还可以,带磨砂质感,而且还提供了一个耳机插头,可以当挂件一样 ...
- 增值税——基础知识
一.增值税的概念 增值税是对从事销售货物或者提供加工.修理修配劳务以及从事进出口货物的单位和个人取得的增值额为课税对象征收的一种税. 增值额是指纳税人在生产.经营或劳务活动中所创造的新增价值,即纳税人 ...
- OC第五节 ——点语法和@property
一.setter和getter函数 1.回忆:如何访问对象中的成员变量 2.setter和getter函数的作用 setter 方法: 修改对象的字段/实例变 ...
- 定时任务-在spring中配置quartz
使用的版本Spring4.04+Quartz2.2.3,关于jar包自行下载. 详细需要以下几个步骤来完成: 1. 定义要执行的Job类 2. 定义quartz的配置文件applicationCo ...
- codeblocks+Mingw 下配置开源c++单元测试工具 google test
google test 是google的c++开源单元测试工具,chrome的开发团队就是使用它. Code::Blocks 12.11(MinGW 4.7.1) (Windows版)Google T ...
- maven之helloworld案例
1.maven目录结构 src -main -java -package -test -java -package -resources 2.新建目录 在任意指定盘下建文件夹(我的是D盘,目录结构如下 ...