SaltStack实战之远程执行-Targeting

作者: ygqygq2 分类: 自动化 发布时间: 2017-06-08 15:22

SaltStack实战之远程执行-Targeting

SaltStack远程执行组成部分:
* 目标(Targeting)
* 模块(Module)
* 返回(Returnners)

1. minion id配置

minion id可以定义在minion配置文件中,如果未定义,默认使用的是hostname。minion id是不能变动的,因为minion与master认证公钥是以minion id命名文件名的。
[root@salt-master111 pillar]# vim /etc/salt/minion

Minion id命名越规范越详细,在使用minion id匹配过程中就越准确。

2. Targeting分类

和Minion ID有关,需要使用Minion ID:
* Globbing(通配符)
* regex(正则表达式)
* List(列表)

通配符匹配

正则匹配

列表匹配

和Minion ID无关,不涉及到Minion ID:
* 子网/IP地址
* Grains
* Pillar
* Compound matchers(复合匹配)
* Node groups(节点组)
* Batching execution(批处理执行)

IP地址匹配

Grains匹配

Pillar匹配

复合匹配

Letter Match Type 例如: Alt Delimiter?
G Grains glob G@os:Ubuntu Yes
E PCRE Minion ID E@web\d+\.(dev|qa|prod)\.loc No
P Grains PCRE P@os:(RedHat|Fedora|CentOS) Yes
L List of minions L@minion1.example.com,minion3.domain.com or bl*.domain.com No
I Pillar glob I@pdata:foobar Yes
J Pillar PCRE J@pdata:^(foo|bar)$ Yes
S Subnet/IP address S@192.168.1.0/24 or S@192.168.1.100 No
R Range cluster R@%foo.bar No

Matchers can be joined using boolean and, or, and not operators.

Nodgroups

nodegroups master配置文件参数用于定义节点组。这里有一个通过/etc/salt/master配置文件配置节点组的例子:

批处理执行

在top.sls中,使用正则和grains匹配写法:

其它targeting详情:http://docs.saltstack.cn/topics/targeting/index.html

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注