一、Grains
是SaltStack
收集的有关底层管理系统的静态信息。包括操做系统版本、域名、IP地址、内存、内核、CPU、操做系统类型以及许多其余系统属性。Minion
收集的信息,能够做为Master
端匹配目标。
二、若是须要自定义grains
,须要添加到Salt Minion
的/etc/salt/grains
文件中(配置文件中定义的默认路径),也能够直接写在配置文件/etc/salt/minion
中html
Grains官方文档web
1)资产管理,信息查询vim
#列出全部可用的grains状态模块 [root@salt-master ~]# salt '*' grains.ls #打印全部状态信息 [root@salt-master ~]# salt '*' grains.items #列出每台minion的本地IP地址 [root@salt-master ~]# salt '*' grains.item fqdn_ip4 #列出每台minion的操做系统 [root@salt-master ~]# salt '*' grains.item os
2)用于匹配ssh
[root@salt-master ~]# salt -G 'os:CentOS' test.ping [root@salt-master ~]# salt -G 'localhost:salt-minion01' test.ping
3)minion
自定义grains
post
#1.修改配置文件,自定义grains [root@salt-minion01 ~]# vim /etc/salt/minion grains: roles: - webserver - memcache ipaddr: - 192.168.1.32 #2.重启minion [root@salt-minion01 ~]# systemctl restart salt-minion #3.master上测试 [root@salt-master ~]# salt -G 'ipaddr:192.168.1.32' test.ping salt-minion01: True
4)Grains
优先级问题测试
1、Grains默认核心信息 2、自定义写在/etc/salt/grains文件中的 3、自定义写在/etc/salt/minion文件中的
Pillar
是动态的,Pillar
存储在master
上,提供给minion
。Pillar
主要记录一些加密信息,能够确保这些敏感数据不被其余minion
看到。好比:软件版本号、用户名密码等。存储格式都是YAML
格式加密
1)在Master
端定义Pillar
spa
[root@salt-master ~]# vim /etc/salt/master pillar_roots: base: - /srv/pillar [root@salt-master ~]# mkdir /srv/pillar [root@salt-master ~]# cat /srv/pillar/zabbix.sls Zabbix_Server: 192.168.1.11 Zabbix_Name: zabbix.examp.com
2)编写TopFile
指定Minion
端能够使用操作系统
[root@salt-master ~]# cat /srv/pillar/top.sls base: 'salt-minion01': - zabbix
3)刷新Pillar
rest
[root@salt-master ~]# salt '*' saltutil.refresh_pillar
4)获取对应pillar
值
[root@salt-master ~]# salt '*' pillar.items salt-minion01: ---------- Zabbix_Name: zabbix.examp.com Zabbix_Server: 192.168.1.11 salt-minion03: ---------- salt-minion02: ---------- #获取指定的key [root@salt-master ~]# salt 'salt-minion01' pillar.item Zabbix_Server salt-minion01: ---------- Zabbix_Server: 192.168.1.11
说明:若是Master
更新了新的数值,须要刷新Pillar
到Minion
才能够获取
Pirrar
与Grains
对比
类型 数据采集方式 应用场景 定义位置
Grains 静态 minion启动时收集 数据查询 目标选择 配置管理 minion
Pillar 动态 master进行自定义 目标选择 配置管理 敏感数据 master