saltstatck module和grains讲解

凉白开 Linuxsaltstatck module和grains讲解已关闭评论8,012字数 1393阅读4分38秒阅读模式

前面2篇文章基本上把saltstack的基本应用都讲了下(基本应用而已) 今天讲下自定义module(就是自己写模块)和 自定义grains(上一篇已经讲了 但是是简单的K/V值对形式定义 今天会写通过python脚本来定义 这样一来扩展性强了很多)

现在开始讲自定义模块吧文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

模块这个大家应该知道是什么了吧 saltstack默认安装完了 就自带很多模块文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

可以通过下面的命令查看某台minion支持多少模块文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

salt ‘CMN-NJ-H-3g4′ sys.doc文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

给个源码包 里面所有模块的源文件吧(自定义模块 也是按照这个来画瓢的)文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

https://github.com/saltstack/salt/tree/develop/salt/modules文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

开始弄吧文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

先新建一个_module目录(我的file_root 路径没有改)文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

mkdir /srv/salt/_modules && cd /srv/salt/_modules文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

然后再目录下 写个python脚本 (我python 还没入门 我是按照源码里面盗版了一个) 很简单 的一个文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

grains文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

就一个函数 return 一个值(如果你python牛掰 这个你可以随便怎么扩展 格式对就行(每个函数 return值就行) )文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

OK 这样一个最简单 最简单的module 就写完了(因为我python还没入门)文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

写完模块后 再同步到minion上(可以同步到你指定的minion 或者所有minion上 这个随你 在top.sls 入口文件控制)文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

同步命令为文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

salt ‘*’ saltutil.sync_all 我上个图吧文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

grains文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

OK 这样就同步完了 我们测试下吧文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

grains文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

fc7.shencan 这个简单介绍下文章源自运维生存时间-https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/

fc7 是_module 目录下的fc7.py 模块

shencan 是fc7.py 模块下的一个函数(调用函数 你懂的)

OK 自定义模块就这些 (我只是简单讲了一下方法 如果你python牛掰 自己可以按照这个思路扩散 )

接下来讲grains 吧 前一篇文章 我是在minion 配置文件中手动定义的 grains K/V 值对 这样定义是没问题的 你可以在matser端 把所以minion的这个文件管理起来 以后也好扩展 只是方便性 不咋地 下面就讲解通过python脚本来自定义(官方也是这样来的)

下面给个官网的例子吧

https://github.com/saltstack/salt/tree/develop/salt/grains

自定义grains 也是按照这个画瓢的 你懂的

mkir /srv/salt/_grains && cd /srv/salt/_grains

在目录下新建一个py脚本

grains

我py 脚本真的没入门 这个还是别人教我写的 最主要的记得格式 就OK了 (好像是python的列表)

OK 写完后 同步吧

salt ‘*’ saltutil.sync_all

图就不贴了 跟上面差不多

最后测试下吧

grains

 

OK 了 就这样 其实方法是简单 扩展那就没法讲了 只能用例子来讲了 如果你py能力牛掰 你随便看下官网的grains 源码

那就不得了了 想这么写就怎么写(看你想要啥信息了)

OK module 跟grains先写这么多吧 等我py脚本 学好了点 我拿几个例子再讲下吧

下面的saltstack 文章 我可能还会写 renderers returners states pillar 专题来写

 

转自:http://www.shencan.net/index.php/2013/06/08/saltstatck%E4%B8%89-module%E5%92%8Cgrains/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 28/08/2014 01:00:17
  • 转载请务必保留本文链接:https://www.ttlsa.com/linux/saltstatck-module-grains-desc-shancan-03/
  • grains
  • Linux
  • modules
  • puppet
  • salt
  • saltstack
  • 运维自动化