关于saltstack中的执行模块

1 执行模块的构成结构

以python2.7环境为例,可以在/usr/lib/python2.7/site-packages/salt/modules/目录下找到salt模块的源码。比如常用的test.echo模块函数的存在形式是该目录下test.py文件中的定义的如下函数:

def echo(text):
    '''
    Return a string - used for testing the connection

    CLI Example:

    .. code-block:: bash

        salt '*' test.echo 'foo bar baz quo qux'
    '''
    return text

2 编写自己的执行模块函数

(1) 定制化模块的存放目录为:/srv/salt/_modules/。这个目录并不是默认存在的,需要手动创建。
(2) 在该目录下编写执行模块的python代码。以输出hello world程序为例
(a) 创建/srv/salt/_modules/hello.py文件,内容如下:

# cat /srv/salt/_modules/hello.py
def world():
    return 'hello, world!'

(b) 执行模块同步命令:salt ‘*’ saltutil.sync_modules
显示如下结果,则表示成功(这里只有一台minion节点,所以只有一条返回记录)。
这里写图片描述
(c) 执行自定义模块
自定义模块的执行方法与官方模块一样,通过”模块名.函数名”来指定。
关于saltstack中的执行模块_第1张图片

参考:
SaltStack运维实战

你可能感兴趣的:(saltstack,Saltstack知多少)