Saltstack 操作目标,正则匹配,及组管理
如果我们要维护好一个庞大的配置管理系统那么首选得维护好我们的管理对象,在saltstack系统中我们的管理对象叫做Target,
在master上我们可以采用不同Target去管理不同的Minion。这些Target都是通过去管理和匹配Minion的ID来做的一些集
- 操作目标
- 正则匹配
- 组管理
操作目标
借用别人博客上面的内容 贴在下面
1.匹配Minions Id
匹配所有 (*)
[root@node1 salt]# salt '*' test.ping
node2.minion:
True
匹配后面是.minion的
[root@node1 salt]# salt '*.minion' test.ping
node2.minion:
True
匹配一个(?)
[root@node1 salt]# salt '*node?.minion' test.ping
node2.minion:
True
匹配多个[1-5]
[root@node1 salt]# salt 'node[1-5].minion' test.ping
node2.minion:
True
匹配某个主机和某个
[root@node1 salt]# salt 'node[2,3].minion' test.ping
node2.minion:
True
匹配a-z
[root@node1 salt]# salt 'node2.minio[n-z]' test.ping
node2.minion:
True
正则匹配
命令格式: salt ‘<操作目标>’ <方法>[参数]
示例: 查看被控主机的内存使用情况
[root@hzbj-salt- ~]# salt 'hzbj-tomcat-021' cmd.run 'free -m'
hzbj-tomcat-:
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:
其中针对(操作目标),Saltstack提供了多种方法对被控端主机(id)进行过滤。下面列举常用的具体参数。
1)-E,--pcre,通过正则表达式进行匹配。示例:比如hzbj字符开头的主机id名是否连通,命令:
[root@hzbj-salt- ~]# salt -E '^hzbj.*' test.ping
hzbj-tomcat-:
True
hzbj-tomcat-:
True
2)-L,--list,以主机id名列表的形式进行过滤,格式与Python的列表相似,即不同主机id名称使用逗号分隔,命令:
[root@hzbj-salt- ~]# salt -L 'hzbj-tomcat-021,hzbj-tomcat-022' grains.item osfullname
hzbj-tomcat-:
----------
osfullname:
CentOS
hzbj-tomcat-:
----------
osfullname:
CentOS
3)-S,--ipcidr,根据被控主机的IP地址或IP子网进行匹配,示例如下:
[root@hzbj-salt- ~]# salt -S 192.168.0.0/ test.ping
[root@hzbj-salt- ~]# salt -S 192.168.56.0/ test.ping
[root@hzbj-salt- ~]# salt -S 192.168.56.21 test.ping
组管理
根据主控端master配置文件中的分组名称进行过滤。 组(主机信息支持正则表达式,grain,条件运算符等),通常根据业务类型划分,不同业务举办相同的特点,包含部署环境,应用平台,配置文件等。
[root@hzbj-salt- ~]# vim /etc/salt/master
nodegroups:
web1group: 'L@hzbj-tomcat-021'
web2group: 'L@hzbj-tomcat-022'
其中,L@表示后面的主机id格式为列表,即主机id以逗号分隔;G@表示以grain格式描述;S@表示以IP子网或地址格式描述。
示例: 探测web2group被控主机的连通性,命令:
[root@hzbj-salt- ~]# salt -N web2group test.ping
hzbj-tomcat-:
True
Saltstack 操作目标,正则匹配,及组管理的更多相关文章
- Flask基础(3):session、flash、特殊装饰器、蓝图、路由正则匹配、上下文管理 & flask-session
		Session: Flask 默认将 session 以加密的形式放到了浏览器的 cookie 中 Flask 的 session 就是一个字典,字典有什么方法 session 就有什么方法 flas ... 
- php中的正则函数:正则匹配,正则替换,正则分割 所有的操作都不会影响原来的字符串.
		有一个长期的误解, 如果要分组, 必须用 小括号 和 |, 而不能用 中括号 和 |. [ab|AB]表示的不是 匹配 ab或 AB, 而是表示 匹配 a,b, |, A, B 这5个字符中 的任意 ... 
- php 正则匹配省市区
		匹配指定前后内容中的值 如匹配/xxx-abc中的abc preg_match('/\/xxx-([^<]*)/i', $route, $matches); echo $matches[1]; ... 
- 正则匹配闭合HTML标签(支持嵌套)
		任何复杂的正则表达式都是由简单的子表达式组成的,要想写出复杂的正则来,一方面需要有化繁为简的功底,另外一方面,我们需要从正则引擎的角度去思考问题.关于正则引擎的原理,推荐<Mastering R ... 
- Aho-Corasick算法、多模正则匹配、Snort入门学习
		希望解决的问题 . 在一些高流量.高IO的WAF中,是如何对规则库(POST.GET)中的字符串进行多正则匹配的,是单条轮询执行,还是多模式并发执行 . Snort是怎么组织.匹配高达上千条的正则规则 ... 
- python_way day18 html-day4, Django路由,(正则匹配页码,包含自开发分页功能), 模板,  Model(jDango-ORM) : SQLite,数据库时间字段插入的方法
		python_way day18 html-day4 1.Django-路由系统 - 自开发分页功能 2.模板语言:之母板的使用 3.SQLite:model(jDango-ORM) 数据库时间字 ... 
- 正则匹配与替换  regexp & regsub
		正则匹配是使用正则表达式匹配字符串的一种方法:在脚本编写过程中,经常需要处理一些文本,而这些文本中可能只有部分信息是有用的,我们需要从文本中提取出这些有用信息:这时候,就需要编写特定格式的正则表达式, ... 
- RegExp正则匹配模式汇总
		正则表达式提供另一种强大的文本搜索和处理方式,对于正则表达式,不同语言有着不同的实现,JavaScript采用的Perl5的语法.对于极少数匹配模式是简单的全字符文本的情况,我们往往会采用indexO ... 
- java.util.regex包下的Pattern和Matcher详解(正则匹配)
		java正则表达式通过java.util.regex包下的Pattern类与Matcher类实现(建议在阅读本文时,打开java API文档,当介绍到哪个方法时,查看java API中的方法说明,效果 ... 
随机推荐
- 浙大pat1020题解
			1020. Tree Traversals (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Suppo ... 
- 接口速度慢问题查找(TTFB时间长)
			前些天自己写了一个网站,但是发现接口的速度按超级慢,业务逻辑并不复杂,原因究竟在哪呢? 首先说一下,我的数据库和项目均在同一台服务器上,按道理来说,接口访问本地的数据库应该会很快才对. 后来我发现线上 ... 
- 关于CGI、FastCGI和PHP-FPM的关系
			1.CGI是干嘛的? CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者. web server(比如说nginx)只是内容的分发者.比如,如果请求/index.h ... 
- Scala内部类
			注意:Java内部类从属于外部类,而Scala内部类从属于对象(外部类的实例本身). 
- openvpn环境搭建
			以下为服务端.客户端下载安装包,在CentOS 6.5部署,也可以找到相关下载源 openvpn-2.2.2.tar.gz,openvpn-2.1.3-install.rar,(https://git ... 
- 坑爹的 Hardware Reserved Memory (查看内存等)
			来源: http://blog.sina.com.cn/s/blog_772645ff0100s4t7.html 我的电脑是GatewayNV49C83c,酷睿i3的CPU和NV的独立显卡 Inter ... 
- MFC窗口程序显示命令行输出窗口的方法
			来源:http://blog.csdn.net/k_shmily/article/details/52596927 WINDOWS为你提供了一系列的API来完成这个功能,例如:ReadConsole, ... 
- H264中的MapUnits
			1 MapUnits 在FMO(Flexible Macroblock ordering)时,从宏块到条带组的映射是以MapUnits为基本单位,MapUnits可能为宏块,也可能是上下两个宏块(见下 ... 
- CVE-2014-1767 利用分析(2015.2)
			CVE-2014-1767利用分析 参考这篇文章利用思路,重现利用,主要说明自己在实现的时候遇到的坑. 利用思路 1. 第一次 IoControl,释放 MDL,我们通过 VirtualAddress ... 
- 用myeclipse 创建maven项目时,生成的项目名中总是包含Maven Webapp
			解决办法:新建Maven项目时,展开Advanced-Name template中选择[artifactId]即可 
