未加星标

salt命令指定minions的方式

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

作者:杨冬 欢迎转载,也请保留这段声明。谢谢!

出处: https://andyyoung01.github.io/ 或 http://andyyoung01.16mb.com/

上篇文章学习了salt state中的高级用法,本篇学习salt如何targeting minions,也就是salt如何定位目标主机。另外在定位主机时,有一种方法是通过nodegroups,后面再来学习一下如何配置nodegroups。

确定目标主机的方式

作为配置管理软件,首先要解决的是如何确定一次推送的主机,或者说特定配置的推送目标。下面就来看一下salt支持的匹配主机的方式:

1. Globbing

这是默认的匹配方式,可以使用linux shell风格的通配符:

salt '*.salt-cookbook.com' state.sls user

在Top文件中:

'*.salt-cookbook.com': -group -user 2. Lists

后接一串以逗号分隔的minion id列表,通过-L选项指定:

salt L 'prddc1mon01,prddc2mon05' state.sls user

在Top文件中:

'prddc1mon01,prddc2mon05': - match:list -hostconfig 3. Regular expressions

即正则匹配方式,对象同样是minion id,通过-E选项指定:

salt -E 'dev-(dc1|dc2|dc3)-db' state.sls user

在Top文件中:

'dev-(dc1|dc2|dc3)-db': - match:pcre -mysql 4. Grains

基于grains数据的匹配,通过-G选项指定:

salt G 'server_type:app' state.sls user

在Top文件中:

'server_type:app': - match:grain -tomcat 5. Subnet/IP

基于subnet/IP地址的匹配方式,通过-E选项指定:

salt S 10.0.0.0/24 state.sls user

在Top文件中:

'10.0.0.0/24': - match:ipcidr -dns 6. Pillar

通过提供对某个minion可用的pillar键值对的方式进行匹配,通过-I选项指定:

salt I 'app_user:stg-app' state.sls user

在Top文件中:

'app_user:stg-app': - match:pillar -postgres 7. 基于Grains的正则

与正则匹配方式类似,只不过是基于grains数据应用正则匹配,通过 grain-pcre选项指定:

salt grain-pcre 'os:(RedHat|CentOS)' state.sls user

在Top文件中:

'os:(RedHat|CentOS) ': - match:grain_pcre -hostconfig 8. 组合匹配

这种匹配方式将上述不同的方式综合起来进行匹配,通过-C选项指定:

salt C [email protected]:Ubuntu and \ [email protected]/24' pillar.item fqdn

在Top文件中:

[email protected]:Ubuntu and [email protected]/24': - match:compound -hostconfig 9. NodeGroup

通过NodeGroup进行匹配,下一节介绍NodeGroup的配置,通过-N选项指定:

salt N prodmon state.sls user

在Top文件中:

'prodmon': - match:nodegroup -monitoring 配置nodegroups

配置nodegroup可以在主配置文件/etc/salt/master将nodegroups的配置项取消注释,也可以在/etc/salt/maste.d文件夹下创建一个新的nodegroups.conf的配置文件,内容如下:

nodegroups.conf

nodegroups: stgdb: [email protected]:staging and [email protected]_type:db' dc1devapp: [email protected]:dc1 and [email protected]:development and [email protected]_type:app' prodmon: [email protected],prddc2mon03,prddc3mon10'

配置完成后重新启动salt-master的daemon来使配置生效。

上面的配置文件配置了三个组,组名分别为stgdb、dc1devapp和prodmon。组stgdb中包含所有具有指定grains数据的节点,grains的内容是通过后面指定的。它的格式与在top文件中指定匹配方式相同。

本篇了解了salt命令中指定minions的方式,下篇来了解一下salt的执行模块、state模块及salt runners。

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: Ubuntu数据定位
分页:12
转载请注明
本文标题:salt命令指定minions的方式
本站链接:http://www.codesec.net/view/485547.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(28)