共計 1857 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要為大家分析了如何分析 Saltstack 常用模塊及 API 的相關知識點,內容詳細易懂,操作細節合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨丸趣 TV 小編一起來看看,下面跟著丸趣 TV 小編一起深入學習“如何分析 Saltstack 常用模塊及 API”的知識吧。
說明
salt * sys.list_modules # 列出當前版本支持的模塊
API 原理是通過調用 master client 模塊,實例化一個 LocalClient 對象,再調用 cmd() 方法來實現的。
以下 API 實現 test.ping 的示例:(其他 API 調用只需要改變 cmd 即可)
# 采用 gunzip 解壓 sourcefile.txt.gz 包
salt * archive.gunzip sourcefile.txt.gz
#采用 gzip 壓縮 sourcefile.txt 文件
salt * archive.gzip sourcefile.txt
API 調用:
client.cmd(* , archive.gunzip ,[ sourcefile.txt.gz])
cmd 模塊
功能:實現遠程的命令行調用執行(默認具備 root 操作權限,使用時需評估風險)
示例:
# 獲取所欲被控主機的內存使用情況
salt * cmd.run free -m
#在 wx 主機上運行 test.py 腳本,其中 script/test.py 存放在 file_roots 指定的目錄(默認是在 /srv/salt, 自定義在 /etc/salt/master 文件中定義),#該命令會做 2 個動作:首先同步 test.py 到 minion 的 cache 目錄;起床運行該腳本
salt wx cmd.script salt://script/test.py
API 調用:
client.cmd(* , cmd.run ,[ free -m])
cp 模塊
功能:實現遠程文件、目錄的復制,以及下載 URL 文件等操作
示例:
client.cmd(* , cp.get_file ,[ salt://script/test.py , /minion/test.py])
cron 模塊
功能:實現被控主機的 crontab 操作
示例:
client.cmd(wx , cron.set_job ,[ root , * , * , * , * ,1, /usr/local/weekly])
dnsutil 模塊
功能:實現被控主機通用 DNS 操作
示例:
# 添加指定被控主機 hosts 的主機配置項
salt wx dnsutil.hosts_append /etc/hosts 127.0.0.1 adl.yuk.com,ad2.yuk.com
#刪除指定被控主機的 hosts 的主機配置項
salt wx dnsutil.hosts_remove /etc/hosts ad1.yuk.com
API 調用:
clietn.cmd(wx , dnsutil.hosts_append ,[ /etc/hosts , 127.0.0.1 , ad1.yuk.com , ad2.yuk.com])
file 模塊
功能:被控主機常見的文件操作,包括文件讀寫、權限、查找、校驗
示例:
client.cmd(* , file.remove ,[ /tmp/foo])
iptables 模塊
功能:被控主機的 iptables 支持
示例:
client.cmd(* , iptables.append ,[ filter , INPUT , rule=\ -p tcp --sport 80 -j ACCEPT\])
network 模塊
功能:返回被控主機的網絡信息
示例:
client.cmd(wx , network.ip_addrs)
pkg 包管理模塊
功能:被控主機程序包管理,如:yum、apt-getdegn
示例:
client.cmd(* , pkg.remove ,[ php])
service 服務模塊
功能:被控主機程序包服務管理
示例:
client.cmd(* , service.stop ,[ nginx])
其他模塊
除了上述模塊外,saltstack 還提供了 user(系統用戶模塊)、group(系統組模塊)、partition(系統分區模塊)、puppet(puppet 管理模塊)、system(系統重啟、關機模塊)、timezone(時區管理模塊)、nginx(nginx 管理模塊)、mount(文件系統掛載模塊)等等。當然我們也可以通過 Python 擴展模塊來滿足需求。
關于“如何分析 Saltstack 常用模塊及 API”就介紹到這了, 更多相關內容可以搜索丸趣 TV 以前的文章,希望能夠幫助大家答疑解惑,請多多支持丸趣 TV 網站!