SaltStack可以分为Master和Minion,自定义模块可以让你更加便捷的在两者之间进行信息收集和获取。
首先需要在master机器的file_roots 下建一个_modules文件夹,里面放.py 文件,也就是自定义模块。
- 1.1: file_roots 在/etc/salt/master 里可以设置,默认是/srv/salt/,即你需要在这个目录下新建文件夹_modules
srv \-- salt \-- _modules \-- test.py
-
1.2: test.py
def world(): return 'hello world'
- 1.3 在master使用salt "*" saltutil.sync_modules对_modules里面的文件同步到minion
- 1.4 然后使用salt "*" test.hello,输出结果,记得test.py文件里面要加return,不然在master是无法显示接收到的信息。
- ---------------------------------------------------------------------------------------------------------------------------------------------------------
- 2.1 windows安装的minion默认路径存放在C:\salt
- 2.2 同步之后的_modules模块存放在C:\salt\var\cache\salt\minion\extmods\modules
- 2.3 如果在master写好Python文件之后进行推送测试未免太麻烦,可以在salt目录下,按住Shift键打开命令行,输入salt-call.bat a(文件名).world(文件当中的模块名),进行快速测试