免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 17043 | 回复: 4
打印 上一主题 下一主题

[Salt] salt之grains,节点组,复合匹配,同时执行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-28 11:46 |只看该作者 |倒序浏览
本帖最后由 xjq1986 于 2014-01-28 11:59 编辑

   salt配备了一个接口,以获得关于底层的系统信息。这就是所谓的信息界面,因为它提供给salt一些信息。这种信息是minion启动时就会收集,所以这种信息是静态的,不会改变,就像操作系统名称,内核名称是不会变的。

使用方法:

1.匹配所有的centos客户端
   
  1. salt -G 'os:CentOS' test.ping
复制代码
2 .  匹配客户端是否64位cpu,并返回cpu的核心数,这台虚拟机不是64位的,只是i386的机器


3.列出所有可以获取的信息条目
  1. salt '*' grains.ls
复制代码
4.列出客户端所有的静态信息

  1. salt '*' grains.items
复制代码

5.获取客户端单条静态信息(例如:kernelrelease)

  1. salt '*' grains.item kernelrelease
复制代码

虽然grains的信息是静态的,但是也是可以配置的

编辑/etc/salt/minion

添加以下内容重启minion,再用salt '*' grains.items 就能看到自定义的信息,如果你不想把这些配置文件放入/etc/salt/minion,可以放到/etc/salt/grains (注意缩进)

grains:
    roles:
        - webserver
        - memcache
    deployment: datacenter4
    cabinet: 13
    cab_u: 14-15


当你获取到一台机的软硬件的静态信息了,一般就可以统计出所有机器资料,做出报表了,不用再费心思写shell去查找一些信息了



扩展
1.可以自己写一个grains模块

2.可以把这种匹配放在pillar,更好的匹配你想要的客户端

3.使用state.highstate或者saltutil.sync_grains或者saltutil.sync_all模块同步grains信息



(这些我也在研究中) ……
  

   
salt之复合匹配
在匹配类型前加个@,可以复合匹配



G  graints匹配
E  pcre正则表达式匹配
P  使用正则表达式匹配gaints
L  列出客户端
I   pallar匹配
S  子网和IP匹配
R  集群范围匹配


salt之节点组


编辑/etc/salt/master文件,添加以下信息

nodegroups:
  group1: ’L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com’
  group2: ’G@osebian and foo.domain.com’

有了上面的多种匹配,就可以定义不同的客户端进入不同的组,方便管理和执行命令




salt 限制同时执行

使用 -b 或--batch-size 限制同时执行的客户端数
  1. salt '*' -b 10 test.ping
  2. salt -G 'os:RedHat' --batch-size 25% apache.signal restart
复制代码


第一条命令的意思是,所有的主机执行test.ping,但是同时只有10台机在运行,其它机在等待,当有一台机执行返回,轮到下一台机执行,始终保持10台机在运行

第二条命令的意思是,匹配出客户端后,总数的25%的客户端在执行重启apache

这个命令还是挺有意思,不会大范围同时执行,而是分批执行



论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
2 [报告]
发表于 2014-01-28 23:59 |只看该作者
不错。加油。

论坛徽章:
0
3 [报告]
发表于 2014-02-02 20:48 |只看该作者
用grains匹配比较慢,估计是会搜索全部的minion的grains,而匹配id比较快。

论坛徽章:
0
4 [报告]
发表于 2018-06-22 13:55 |只看该作者
厉害了~学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP