salt 针对管理对象操作
salt module组件
1
Module是我们日常使用SaltStack接触最多的一个组件,它是SaltStack通过Push的方式进行管理的入口.比如:我们日常简单的执行命令,查看包安装情况,查看服务运行情况等工作都是通过SaltStack Module来实现的
查看modules
1
2
3[root@salt-master base]# salt 'salt-minion-187' sys.list_modules
[root@salt-master base]# salt 'salt-minion-187' sys.list_functions sys
[root@salt-master base]# salt 'salt-minion-187' sys.doc sys执行modules
1
2[root@salt-master base]# salt 'salt-minion-187' test.echo
[root@salt-master base]# salt 'salt-minion-187' test.echo,cmd.run查看file_roots位置
1
2
3
4[root@salt-master ~]# vim /etc/salt/master
file_roots:
base:
- /mnt/data/salt.repo/salt/base创建_modules目录
1
2
3
4
5
6
7
8[root@salt-master ~]# mkdir -p /mnt/data/salt.repo/salt/base/_modules
def world():
"""
This is my first function.
CLI Example:
salt '*' hello.world
"""
return 'Hello, world!'将模块推送到minion端
1
2
3[root@salt-master ~]# salt 'salt-minion-187' saltutil.sync_modules
salt-minion-187:
- modules.hello查看minion端的模块
1
2[root@salt-master ~]# salt 'salt-minion-187' sys.list_modules|grep hello
- hello执行minion端的模块
1
2
3[root@salt-master ~]# salt 'salt-minion-187' hello.world
salt-minion-187:
Hello, world!特别说明
1
我们可以通过"__salt__","__grains__"和"__pillar__"函数调用所有其他执行模块,就像使用salt命令一样简单