共计 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 网站!