一、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