Saltstack 數據系統

Saltstack 數據系統
Grains (穀粒)
Pillar (柱子)

Grains:靜態數據 當Minion 啓動的時候手機的minion本地的相關信息,操作系統版本內核版本,CPU,內存,硬盤,設備型號,序列號
1.資產管理,信息查詢
2.用於目標選擇
3.配置管理
salt ‘zf-200’ grains.item
salt ‘’ grains.item os #查看所有機器的操作系統
salt '
’ grains.item ipv4 #查看所有機器的IP
salt -G ‘os:CentOS’ test.ping #在centos上測試連接
定義grains 配置
vim /etc/salt/grains

grains:
roles: apache
systemctl restart salt-minion.service #重啓minion
salt -G ‘roles:apache’ cmd.run ‘systemctl restart httpd’ #查找裝有apache的機器並重啓服務

top file使用案例

base:
  'zf-202':
    - web.apache
  'zf-200':
    - web.apache
  'roles:apache':
    -  match: grain
    -  web.apache

開發一個Grains:
python 寫一個python腳本 返回一個字典
#!/usr/bin/env python
def my_grains():
#初始化grains字典
grains = {}
#設置字典中的key-vlaue
grains[‘iaas’] = ‘openstack’
grains[‘edu’] = ‘oldboyedu’
#返回這個字典
return grains
#刷新grains
salt ‘*’ saltutil.sync_grains
Grians優先級
1.系統自帶
2.granin

Pillar: Pillar動態,給特定的minion指定特定的數據。只有指定的minion自己能看到自己的數據
vim /etc/salt/master
pillar_opts: True
salt ‘*’ pillar.items #查看pillar

深入學習saltstack遠程執行:
salt '’ cmd.run ‘w’
命令:salt
目標:

模塊 cmd.run 自帶150+模塊。 自己寫模塊
返回: 執行後結果返回,Returnners
目標: Targeting
一種和Minion ID 有關
一種和Minion ID無關
1.Minion ID有關的方法
通配符
[root@zf-200 ~]# salt ‘zf-20*’ test.ping
zf-200:
True
zf-201:
True
zf-202:
True
[root@zf-200 ~]# salt ‘zf-20?’ test.ping
zf-201:
True
zf-202:
True
zf-200:
True
列表
[root@zf-200 ~]# salt -L ‘zf-200,zf-202’ test.ping
zf-202:
True
zf-200:
True
正則表達式
所有匹配目標的方式,都可以用到top file 裏面來指定目標。
主機名設置方案
1.IP地址
2.根據業務來進行設置
salt-cp ‘*’ /etc/hosts /opt/hehe

salt-cp  '*'   /etc/hosts    /opt/hehe               **#遠程執行拷貝命令**
[root@zf-200 ~]#  salt  '*'  cmd.run  'ls -l /opt/hehe'
zf-200:
    -rw-r--r-- 1 root root 158 Jun  9 13:47 /opt/hehe
zf-202:
    -rw-r--r-- 1 root root 158 Jun  9 13:47 /opt/hehe
zf-201:
    -rw-r--r-- 1 root root 158 Jun  9 13:47 /opt/hehe
salt '*'   state.single  pkg.installed name=MySQL-python              

salt ‘*’ cmd.run ‘yum -y install MySQL-python’

#https://www.unixhot.com/docs/saltstack/ref/returners/all/salt.returners.mysql.html#module-salt.returners.mysql
寫入數據庫
#salt ‘*’ cmd.run ‘df -h’ --return mysql

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章