1 salt执行模块开发

saltstack自带的模块已经很多了,但是有些时候我们需要自己开发出自己的模块来满足自己的需求,那就要自己开发了,下面请看例子

创建_modules目录在file_roots下面

我们需要在file_roots下面创建_modules目录,然后在这个目录下面编写自己的模块

[root@linux-node1 /srv/salt/base]# mkdir _modules
[root@linux-node1 /srv/salt/base/_modules]# cat my_disk.py
def show_disk():
  cmd = 'df -h'
  ret = __salt__["cmd.run"](cmd)
  return ret

同步模块

写完模块后,我们需要把这个模块同步到其他的minion上

[root@linux-node1 /srv/salt/base/_modules]# salt \* saltutil.sync_modules
linux-node2.example.com:
    - modules.my_disk
linux-node1.example.com:
    - modules.my_disk

同步完成后,我们执行这个模块

[root@linux-node1 /srv/salt/base/_modules]# salt \* my_disk.show_disk
linux-node1.example.com:
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        48G  2.6G   46G   6% /
    devtmpfs        902M     0  902M   0% /dev
    tmpfs           912M   28K  912M   1% /dev/shm
    tmpfs           912M   17M  896M   2% /run
    tmpfs           912M     0  912M   0% /sys/fs/cgroup
    /dev/sda1      1014M  158M  857M  16% /boot
    tmpfs           183M     0  183M   0% /run/user/0
linux-node2.example.com:
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        48G  2.6G   46G   6% /
    devtmpfs        902M     0  902M   0% /dev
    tmpfs           912M   12K  912M   1% /dev/shm
    tmpfs           912M   17M  896M   2% /run
    tmpfs           912M     0  912M   0% /sys/fs/cgroup
    /dev/sda1      1014M  158M  857M  16% /boot
    tmpfs           183M     0  183M   0% /run/user/0

minion保存模块的地方

minion保存模块的地方在 /var/cache/salt/minion/extmods/modules/

[root@linux-node2 ~]# cat /var/cache/salt/minion/extmods/modules/my_disk.py
def show_disk():
  cmd = 'df -h'
  ret = __salt__["cmd.run"](cmd)
  return ret

posted @ 2018-04-10 08:09  温柔易淡  阅读(238)  评论(0编辑  收藏  举报