日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Saltstack数据系统Grains和Pillar(三)

發布時間:2023/12/20 windows 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Saltstack数据系统Grains和Pillar(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • Saltstack數據系統

分為Grains和Pillar

?

一、Grains

靜態數據,當Minion啟動的時候收集的MInion本地的相關信息。(包含操作系統版本、內核版本、CPU、內存、硬盤、設備型號等)

備注:不重啟minion,這些信息數據是不會改變的。

1)信息管理,包括資產管理;

例:

salt 'linux-node1*' grains.ls # 列出ID為linux-node1的主機,grains的所有key salt 'linux-node1*' grains.items # 列出主機的詳細信息,可用于資產管理 salt '*' grains.item os # 列出所有主機的系統版本 salt '*' grains.item fqdn_ip4 # 列出所有主機的IP地址

2)用于目標選擇;(查詢具體id的主機,查詢系統版本為centos的主機 等場景)

例:

salt -G 'os:Centos' test.ping # 所有主機系統為centos版本ping測試 salt -G 'os:Centos' cmd.run 'echo 123' # 所有主機系統為centos版本執行命令'echo 123'

3)配置管理中使用

自定義grains的item

方式一: 修改配置文件?vim /etc/salt/minion

重啟?systemctl restart salt-minion

通過自定義的item,可以實現重啟所有角色為apache的主機

salt '*' grains.item roles # 獲取所有主機的roles salt -G 'roles:apache' cmd.run 'systemctl restart httpd' # 所有主機roles為apache的執行命令systemctl restart httpd

方式二:(生產環境使用)?

修改配置文件?vim /etc/salt/grains,寫法

cloud: openstack

重啟?systemctl restart salt-minion

salt '*' grains.item cloud # 獲取所有主機的cloud

修改/etc/salt/grains不重啟服務的方法,刷新命令如下(備注:方式一和方式二修改配置文件,通過此命令都可以不用重啟服務)

salt '*' saltutil.sync_grains

grains在top FILE中的使用案例

vim /srv/salt/top.sls

base:'linux-node1.example.com':- web.apache'roles:apache':- match: grain- web.apach

grains腳本目錄,必須是base下創建_grains目錄(如:/srv/salt/_grains)

創建一個python腳本在/srv/salt/_grains目錄下

腳本名:my_grains.py

#!/usr/bin/env python #-*- coding: utf-8 -*-def my_grains():# 初始化grains字典grains = {}# 設置字典中的key-valuegrains['iaas'] = 'openstack'grains['edu'] = 'shhnwangjian'# 返回字典return grains

通過master同步腳本文件至每臺minion

salt '*' saltutil.sync_grains

文件放在minion主機的/var/cache/salt/minion/extmods/grains目錄下

salt '*' grains.item edu # 獲取所有主機的edu

grains優先級(item名稱相同的情況下): 1. 系統自帶 2. grains文件寫到 3. minion配置文件寫的 4. 自己寫的腳本

?

二、Pillar

動態數據,給特定的minion指定特定的數據。只有指定的minion自己能看到自己的數據。

salt '*' pillar.items

開啟系統自帶,修改配置文件

vim /etc/salt/master

重啟systemctl restart salt-master

執行salt '*' pillar.items 可以看到系統自帶的item

piller存在文件路徑設置

mkdir /srv/pillar

重啟systemctl restart salt-master

實現pillar流程

1)創建一個piller文件,python?jinja2寫法

mkdir /srv/pillar/web cd /srv/pillar/web vim apache.sls {% if grains['os'] == 'CentOS' %} apache: httpd {% elif grains['os'] == 'Debian' %} apache: apache2 {% endif %}

2)創建TOP FILE文件

vim /srv/pillar/top.sls base:'linux-node2.example.com':- web.apache salt '*' saltutil.refresh_pillar # 刷新 salt '*' pillar.items apache

目標選擇

salt -I 'apache:httpd' test.ping

?

三、Grains VS?Pillar


?

??

?

?

轉載于:https://www.cnblogs.com/shhnwangjian/p/5985868.html

總結

以上是生活随笔為你收集整理的Saltstack数据系统Grains和Pillar(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。