Saltstack資料系統

2021-09-07 02:32:43 字數 3597 閱讀 2478

grains靜態資料

1.grains資料儲存在minion端,minion端的資料資訊

2.當minion啟動時會收集minion自身的狀態資訊後才載入grins資訊,所以grains資料是靜態的。比如: 作業系統版本,核心版本,cpu,記憶體,硬碟。裝置型號。

minion收集的資訊,可以作為master端匹配目標

master端自定義grains設定, 需要執行命令推送給minion端

master端推送的資料會儲存在端的/var/cache/salt

1.資產管理, 資訊查詢

//列出所有可列印的狀態模組

[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端編寫乙個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優先順序問題

1.grains預設獲取的狀態資訊

2.在minion配置檔案進行自定義

3.在master端定義grains推送minion

pillar是動態的,pillar儲存在master端,提供給minion端。

pillar主要記錄一些加密資訊, 可以確保這些敏感資料不被其他minion看到。

pillarsaltstack中主要作用是儲存和定義配置管理中需要的一些資料,比如軟體版本號、使用者名稱密碼等資訊,它的儲存格式跟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.pillargrains對比

型別     資料採集方式   應用場景                   定義位置

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的安裝過程...