saltstack - 二次开发(三)

二次开发入门

saltstack 提供了二次开发,能够进行自定义命令,或自定义参数,已方便更加符合我们自身业务的使用。

 

 

一,自定义 grains 参数

1,进去 /srv/salt/base 目录

2,创建 _grains 目录

mkdir _grains

cd /srv/salt/base/_grains

3,创建 my_grains.py

#!/usr/bin/python

def my_grains():

   grains = { 'test_name': 'andy', 'test_add': 'shanghai'}

   return grains

 4,下发该 py 脚本到 minion 主机上

salt '*' saltutil.sync_grains

命令执行后,脚本下发到 minion 主机的 /var/cache/salt/minion/extmods/grains 目录下。

 5, 查看是否已经生效

salt '*' grains.item test_name test_add

 

 

 

 

 二,自定义 salt 的命令

1,进入 /srv/salt/base 目录

2,创建 一个 _modules 目录

mkdir _modules

cd _modules

3,创建一个 my_disk.py的python 脚本

#!/usr/bin/python

def list():

  cmd = 'df -h'

  ret = __salt__['cmd.run'](cmd)

  return ret

 4,下发该 py 脚本到 minion 主机上

salt '*' saltutil.sync_modules

 5, 查看是否已经生效

salt '*' my_disk.list

 

 

 

 

 

 

 

 

 

posted @ 2020-05-06 12:43  流年浮生  阅读(31)  评论(0)    收藏  举报