Saltstack远程执行学习笔记:管理对象target使用 – 21运维
通知: .-...

Saltstack远程执行学习笔记:管理对象target使用

saltstack 21运维 2780浏览 0评论
[[email protected] ~]# salt 'HK-VPN'  cmd.run 'free -m'
HK-VPN:
                 total       used       free     shared    buffers     cached
    Mem:           987        781        205          0         75         74
    -/+ buffers/cache:        631        355
    Swap:         1023          0       1023

saltstack的远程执行,我们可以通过从其target、模块和return来学习。比如刚才的语句,HK-VPN就是target,cmd.run就是模块(组件+方法),执行结果便是return。这次笔记记录下target使用方法。
管理对象
如果我们要维护好一个庞大的配置管理系统,那么首先得维护好我们的管理对象,在SaltStack系统中我们的管理对象叫作Target,在Master上我们可以采用不同Target去管理不同的Minion。这些Target都是通过去管理和匹配Minion的ID来做的一些集合.

1,Grians匹配,加参数-G
salt  -G ‘os:CentOS’  test.ping 比如我们用grains这个信息进行主机匹配。

[[email protected] ~]# salt  -G 'os:CentOS' test.ping
aliserver:
    True
Master:
    True
HK-VPN:
    True

2.列表匹配 ,加参数-L
salt  -L  HK-VPN,aliserver test.ping

[[email protected] ~]# salt  -L  HK-VPN,aliserver test.ping
aliserver:
    True
HK-VPN:
    True

3,正则匹配,加参数-E
在操作与管理Minion时可以通过正则表达式来匹配Minion ID的方式去管理它们,这个用的还是比较多。比如我们想要对匹配到’HK*’字符串的HK开头的服务器进行操作,可以按如下代码配置:
salt  -E ‘HK*’ test.ping

[[email protected] ~]# salt  -E 'HK*' test.ping
HK-VPN:
    True

4,pillar匹配,加参数-I
salt  -I ‘mysqlmanager:21yunwei’ test.ping  我们需要键值为mysqlmanager:21yunwei 的target执行操作

[[email protected] ~]# salt  -I 'mysqlmanager:21yunwei' test.ping
aliserver:
    True

5,CIDR(子网/IP)匹配,加参数-S

比如salt  -S  ‘115.29.249.0/24’  test.ping

[[email protected] pillar]# salt  -S  '115.29.249.0/24'  test.ping
aliserver:
    True

6,组匹配,加参数-N ,这个非常重要。针对一组特定的对象执行批量操作,比如web集群、某一特定类型的系统打补丁等等

分组举例:

nodegroups:
  webnode: '[email protected],21yunwei-web2'
[email protected]: salt -N  "webnode"  test.ping
21yunwei-web1:
True
21yunwei-web2:
True

在SaltStack系统中也可以提前给Minion定义组角色,但是需要提前知道Minion ID信息才能把它定义到某个组中。groups是我们在master配置文件中定义的组名称。

7,复合匹配,加参数-C。

salt  -C  ‘[email protected]:CentOS and [email protected]:21yunwei’  test.ping  我们要找操作系统是centos且pillar键值为mysqlmanager:21yunwei的服务器:

[[email protected] pillar]# salt  -C  '[email protected]:CentOS and [email protected]:21yunwei'  test.ping
aliserver:
    True

找了一个图,写的比较全,可以归纳一下:

1

使用哪种方式定位target,没有一个明确标准,什么合适用什么。想起邓小平老人家一句话,不管黑猫还是白猫,能抓到耗子就是好猫。

转载请注明:21运维 » Saltstack远程执行学习笔记:管理对象target使用

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址