Saltstack數據系統

1.數據系統Grains

Grains靜態數據python

1.Grains數據存儲在minion端,minion端的數據信息
2.當minion啓動時會收集Minion自身的狀態信息後才加載grins信息,因此grains數據是靜態的。好比: 操做系統版本,內核版本,CPU,內存,硬盤。設備型號。web

 

Minion收集的信息,能夠做爲Master端匹配目標
Master端自定義grains設置, 須要執行命令推送給Minion端
Master端推送的數據會存儲在端的/var/cache/saltvim

1.資產管理, 信息查詢centos

//列出全部可打印的狀態模塊 [root@salt0-master ~]# salt '*' grains.ls //打印全部的狀態信息 [root@salt0-master ~]# salt '*' grains.items //列出每臺minion的本地IP地址 [root@salt0-master ~]# salt '*' grains.item fqdn_ip4 

2.salt遠程執行的目標匹配ruby

//修改minion配置文件,定義grains [root@salt1-minion ~]# vim /etc/salt/minion grains: roles: - webserver os_version: - centos7u4 //重啓minion [root@salt1-minion ~]# systemctl restart salt-minion //目標匹配方式 [root@salt1-minion ~]# salt -G 'os_version:centos7u4' test.ping 

3.Master端編寫一個GrainsPython腳本推送給minion配置管理案例加密

[root@salt0-master ~]# mkdir /srv/salt/_grains -p && cd /srv/salt/_grains [root@salt0-master _grains]# cat /srv/salt/_grains/my_grains.py #!/usr/bin/env python #-*- coding: utf-8 -*- def mygrains(): #設置一個字典 grains = {} #設置字典的值 grains['iaas'] = 'openstack' grains['pass'] = 'Docker' #返回這個字典 return grains # 刷新Grains,從Master推送給全部的Minion客戶端 [root@salt0-master ~]# salt '*' saltutil.sync_grains 

4.Grians優先級問題centos7

1.Grains默認獲取的狀態信息
2.在minion配置文件進行自定義
3.在Master端定義grains推送Minionspa

2.數據系統Pillar

Pillar是動態的,Pillar存儲在master端,提供給minion端。
Pillar主要記錄一些加密信息, 能夠確保這些敏感數據不被其餘minion看到。
PillarSaltStack中主要做用是存儲和定義配置管理中須要的一些數據,好比軟件版本號、用戶名密碼等信息,它的存儲格式跟Grains相似,都是YAML格式。操作系統

 

1.在Master端定義Pillar3d

 

[root@salt0-master ~]# vim /etc/salt/master pillar_roots: base: - /srv/pillar [root@salt0-master ~]# systemctl restart salt-master [root@salt0-master ~]# mkdir /srv/pillar [root@salt0-master ~]# cd /srv/pillar/ [root@salt0-master pillar]# cat zabbix.sls Zabbix_Server: 192.168.70.170 Zabbix_Name: salt0-master.examp.com 

2.編寫TopFile指定Minion端能夠使用

[root@salt0-master pillar]# cat top.sls base: 'salt2-minion.example.com': - zabbix 

3.刷新Pillar

[root@saltstack01 ~]# salt '*' saltutil.refresh_pillar 

4.獲取對應pillar

[root@salt0-master ~]# salt '*' pillar.items salt2-minion.example.com: ---------- Zabbix_Name: salt0-master.examp.com Zabbix_Server: 192.168.70.171 # 獲取指定的key [root@salt0-master ~]# salt 'salt2-minion.example.com' pillar.item Zabbix_Server 

注意: 若是Master更新了新的數值, 須要刷新Pillar至Minion纔可獲取

5.pillarGrains對比

類型     數據採集方式   應用場景                   定義位置
Grains   靜態         minion啓動時收集  數據查詢  目標選擇  配置管理   minion
Pillar   動態         master進行自定義  目標選擇  配置管理  敏感數據   master
相關文章
相關標籤/搜索