saltstack自定义模块

# master节点
# 确保master配置文件/etc/salt/master中的base环境已开启
file_roots:
  base:
    - /srv/salt
# 重启 systemctl restart salt-master   # 本例前面已经配置过

# 切换目录 cd
/srv/salt # 创建文件夹 mkdir _modules # 名字必须是_modules,官方规定的 # 进入_modules目录 cd _modules # 开始编写python文件,因为saltstack是python开发的,所以自定义的模块文件必须.py结尾的python文件 # 示例1 mymodules.py def w(): shellcmd = "w" return __salt__['cmd.run'](shellcmd) def df(): shellcmd = "df -hT" return __salt__['cmd.run'](shellcmd) def top(): shellcmd = "top" return __salt__['cmd.run'](shellcmd) def ls(): shellcmd = "ls /" return __salt__['cmd.run'](shellcmd) def hostname(): shellcmd = "hostname" return __salt__['cmd.run'](shellcmd) def install_nginx(): shellcmd = "yum install -y nginx" return __salt__['cmd.run'](shellcmd) def start_nginx(): shellcmd = "nginx" return __salt__['cmd.run'](shellcmd) # 同步模块到所有节点,也可以同步到某个节点 salt '*' saltutil.sync_modules ####如果自定义模块文档发生变化,必须先同步然后再执行,否则执行的还是修改之前的内容#### # 调用模块 # 语法格式 # salt 命令 '*' 目标主机(这里是全部主机) mymodules上面.py文件名 w 函数名 salt '*' mymodules.w salt 'node1' mymodules.df salt 'node1' mymodules.hostname salt 'node1' mymodules.install_nginx salt 'node1' mymodules.start_nginx

 

posted @ 2023-03-29 10:44  羊脂玉净瓶  阅读(59)  评论(0)    收藏  举报