grains
靜態資料
1.grains資料儲存在minion端,minion端的資料資訊1.資產管理, 資訊查詢2.當minion啟動時會收集minion自身的狀態資訊後才載入grins資訊,所以grains資料是靜態的。比如: 作業系統版本,核心版本,cpu,記憶體,硬碟。裝置型號。
minion收集的資訊,可以作為master端匹配目標
master端自定義grains設定, 需要執行命令推送給minion端
master端推送的資料會儲存在端的/var/cache/salt
//列出所有可列印的狀態模組
[root@salt0-master ~]# salt '*' grains.ls
//列印所有的狀態資訊
[root@salt0-master ~]# salt '*' grains.items
//列出每台minion的本地ip位址
[root@salt0-master ~]# salt '*' grains.item fqdn_ip4
2.salt
遠端執行的目標匹配
//修改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
端編寫乙個grains
的python
指令碼推送給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
優先順序問題
1.grains預設獲取的狀態資訊2.在minion配置檔案進行自定義
3.在master端定義grains推送minion
pillar
是動態的,pillar
儲存在master
端,提供給minion
端。
pillar
主要記錄一些加密資訊, 可以確保這些敏感資料不被其他minion
看到。
pillar
在saltstack
中主要作用是儲存和定義配置管理中需要的一些資料,比如軟體版本號、使用者名稱密碼等資訊,它的儲存格式跟grains
類似,都是yaml
格式。
1.在master
端定義pillar
[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.
pillar
與grains
對比
型別 資料採集方式 應用場景 定義位置
grains 靜態 minion啟動時收集 資料查詢 目標選擇 配置管理 minion
pillar 動態 master進行自定義 目標選擇 配置管理 敏感資料 master
SaltStack 資料系統
1 grains是saltstack收集的有關底層管理系統的靜態資訊。包括作業系統版本 網域名稱 ip位址 記憶體 核心 cpu 作業系統型別以及許多其他系統屬性。minion收集的資訊,可以作為master端匹配目標。2 如果需要自定義grains,需要新增到salt minion的 etc sa...
saltstack管理saltstack認證相關
saltstack認證相關 認證過程 初始化安裝minion,在minion的配置檔案中定義引數master,指定master端的ip 啟動minion服務,minion服務啟動後會在本地生成乙個金鑰對 之後minion會去連線master,並嘗試把公鑰傳送給master,這時候在master端可以...
saltstack快速安裝
過幾天就要離開這家公司了,原先計畫做的自動化還沒完成,群主推薦了saltstack,上網對比了相關軟體puppet和func.決定選擇他來做自動化.前後研究了幾天,今天把公司的伺服器都上了saltstack,今天先分享下saltstack的簡單安裝方法.以下是redhat6和centos6的安裝過程...