TARGETING WITH GRAINS
利用grains变量来标记minion
示例:
salt -G 'os:Fedora' test.ping
-G指以组的方式执行
os:Fedora为minion端grains变量环境匹配
查看minion端的grains变量
salt '*' grains.items
COMPOUND TARGETING
使用复合的方法标记minion
salt -C 'G@os:Debian and webser* or E@db.*' test.ping
使用salt --help查看salt命令选项的用法
-C 允许使用grains变量组合的方式执行模块
匹配的具体使用方法如下图:
匹配条件复合的方式可以添加and,or,not逻辑和优先的情况
示例:
salt -C '( ms-1 or G@id:ms-3 ) and G@id:ms-3' test.ping
关于复合条件的使用方法参考链接:
https://docs.saltstack.com/en/2016.11/topics/targeting/compound.html#targeting-compound
NODE GROUP TARGETING
使用nidegroup进行分组
nodegroups:
group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
group2: 'G@os:Debian and foo.domain.com'
group3: 'G@os:Debian and N@group1'
#group3组可以包含group1定义的内容,让minion分类更简洁和灵活
######################################################################################################################################
ADVANCED TARGETING METHODS
更细致的了解minion匹配的方法
MATCHING THE MINION ID
salt将minion ID作为minion的唯一标记,这个ID被用于和master生成公私钥,建立明确的关系,如果ID变化之后会被视为另一个minion并需要重新被认证。
GLOBBING
通配的方式:
示例:
salt '*' test.ping
salt 'web?.example.net' test.ping
salt 'web-[x-z]' test.ping
View Code
REGULAR EXPRESSIONS
正则表达式的方式:
salt -E 'web1-(prod|devel)' test.ping
sls文件中的使用示例: