天天看点

SaltStack实战之远程执行-Targeting

SaltStack远程执行组成部分:

目标(Targeting)

模块(Module)

返回(Returnners)

minion id可以定义在minion配置文件中,如果未定义,默认使用的是hostname。minion id是不能变动的,因为minion与master认证公钥是以minion id命名文件名的。 

<code>[root@salt-master111 pillar]# vim /etc/salt/minion</code>

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

和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)

L

List of minions

[email protected],minion3.domain.com or bl*.domain.com

I

Pillar glob

I@pdata:foobar

J

Pillar PCRE

J@pdata:^(foo|bar)$

S

Subnet/IP address

[email protected]/24 or [email protected]

R

Range cluster

R@%foo.bar

Matchers can be joined using boolean <code>and</code>, <code>or,</code> and <code>not</code> operators.

Nodgroups

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

批处理执行

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

继续阅读