续我的上篇博文:https://mp.csdn.net/postedit/88998744。即ansible已经安装配置好
一、实验环境(rhel7.3版本)
1、selinux和firewalld状态为disabled
2、各主机信息如下:
主机 | ip |
---|---|
server1(master) | 172.25.83.1 |
server2(minion) | 172.25.83.2 |
二、编写模块
在master端(server1):进行配置
[root@server1 ~]# mkdir /srv/salt/_modules #该目录的名字必须为_modules
[root@server1 ~]# cd /srv/salt/_modules/
[root@server1 _modules]# vim my_disk.py #该文件的名字任意给,只要是以.py结尾即可
def df():
cmd = 'df -h'
return __salt__['cmd.run'](cmd)
[root@server1 _modules]# salt server2 saltutil.sync_modules #将server1端将.py文件传给server2。当然也可以发送给所有主机
server4:
- modules.my_disk
#在master端(server1):进行测试
[root@server1 ~]# salt server2 my_disk.df #利用模块中的函数,在minion端(server2)执行相应的命令。如果是发送给所有主机,则需要将这里的server2该为'*'进行测试。
server2:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rhel-root 17G 1.7G 16G 10% /
devtmpfs 234M 0 234M 0% /dev
tmpfs 245M 12K 245M 1% /dev/shm
tmpfs 245M 4.4M 241M 2% /run
tmpfs 245M 0 245M 0% /sys/fs/cgroup
/dev/sda1 1014M 139M 876M 14% /boot
tmpfs
- 并且在server2的缓存目录下可以看到该文件