saltstack实战2--远程执行之目标(target)

 target 就是目标的意思,你要在那台机器上执行此命令或此状态。或者说将此动作或者状态文件推送给谁来执行,让那个minion执行可以进行一些匹配

对于拥有大量机器的环境,如果单独一台台的执行指定minion去执行,反而违saltstack设计的初衷。

 

它有如下参数可以使用

 

 

1、

globbing 默认

1
2
3
4
[root@master scripts]# salt 'minion01'  test.ping
minion01:
    True
[root@master scripts]#

2、

-L,--list,以主机id名列表的形式进行过滤,不同主机id名称使用逗号分离。

1
2
3
4
5
6
[root@master scripts]# salt -L 'minion01,minion02'  test.ping
minion02:
    True
minion01:
    True
[root@master scripts]#

3、

-E,--pcre,通过正则表达式进行匹配:

1
2
3
4
5
6
7
8
9
10
11
12
[root@master scripts]# salt -E '.*01' test.ping
minion01:
    True
[root@master scripts]# salt -E 'minion*' test.ping
minion02:
    True
minion01:
    True
[root@master scripts]# salt -E 'm.*02' test.ping
minion02:
    True
[root@master scripts]#

4、

-G,--grain,根据被控主机的grains信息进行匹配过滤,格式为:<grain value>:<grain expression>  

grains是存放在minion上的主机信息,包括系统信息和硬件信息等,我们能看到有很多项,使用grains.items能看到

  

使用方式如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@master scripts]# salt 'minion01' grains.get os
minion01:
    CentOS
[root@master scripts]# salt 'minion01' grains.get id
minion01:
    minion01
[root@master scripts]# salt -G 'os:CentOS'  test.ping
minion01:
    True
minion02:
    True
[root@master scripts]# salt -G 'id:minion01'  test.ping
minion01:
    True
[root@master scripts]#

  

5、

-S根据IP或者子网匹配

1
2
3
4
5
6
7
8
9
10
11
12
[root@master scripts]# salt -S '10.0.1.172' test.ping
minion01:
    True
[root@master scripts]# salt -S '10.0.1.173' test.ping
minion02:
    True
[root@master scripts]#[root@master master.d]# salt -S '10.0.1.0/24' test.ping
minion02:
    True
minion01:
    True
[root@master master.d]#

  

6、

-C,组合匹配

根据条件运算符not、and、or去匹配不同规则的主机信息

1
2
3
4
5
6
7
8
9
[root@master scripts]# salt -C 'E@m.*01 or G@id:minion02' test.ping
minion01:
    True
minion02:
    True
[root@master scripts]# salt -C 'E@m.*02 or G@id:minion02' test.ping
minion02:
    True
[root@master scripts]#

 

 

7、  

-N

关于nodegroups

vim  /etc/salt/master

在9到12行提示说在当前目录下新建master.d目录,然后里面的*.conf的配置文件会被默认加载到配置里

1
2
3
4
9 # Per default, the master will automatically include all config files
10 # from master.d/*.conf (master.d is a directory in the same directory
11 # as the main master config file).
12 #default_include: master.d/*.conf

  

看到定义组,如下格式

711行到713行

1
2
3
4
5
6
7
707 #####         Node Groups           #####
708 ##########################################
709 # Node groups allow for logical groupings of minion nodes. A group consists of a group
710 # name and a compound target.
711 #nodegroups:
712 #  group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
713 #  group2: 'G@os:Debian and foo.domain.com'

接下来我们自定义组。这里我们创建master.d目录,在里面写组的配置。这样和这个master配置文件解耦,防止自己误操作导致master配置文件出问题

自定义两个组,lamp组,成员有minion01和minion02

lnmp组有minion02成员

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@master salt]# cd /etc/salt/
[root@master salt]# ls
master  pki
[root@master salt]# mkdir master.d
[root@master salt]# ls -F
master  master.d/  pki/
[root@master salt]# cd master.d/
[root@master master.d]# ls
[root@master master.d]# vim groups.conf
[root@master master.d]# cat groups.conf
nodegroups:
  lamp: L@minion01,minion02
  lnmp: minion02
[root@master master.d]#

  

1
2
3
4
5
6
7
8
9
[root@master master.d]# salt -N 'lamp' test.ping
minion01:
    True
minion02:
    True
[root@master master.d]# salt -N 'lnmp' test.ping
minion02:
    True
[root@master master.d]#

 

 

8、  

-I,--pillar,根据被控主机的pillar信息进行匹配

这里只介绍怎么使用 -I 进行pillar数据的匹配。具体pillar怎么配置的请查看pillar的博文

1
2
3
4
5
6
7
8
[root@master pillar]# salt '*'  pillar.get apache
minion01:
minion02:
    httpd
[root@master pillar]# salt -I 'apache:httpd'  test.ping
minion02:
    True
[root@master pillar]#

  

 

posted on   nmap  阅读(1118)  评论(0编辑  收藏  举报

编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥

导航

< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示