关闭

SaltStack实战之远程执行-Targeting

标签: saltstack
188人阅读 评论(0) 收藏 举报
分类:

SaltStack实战之远程执行-Targeting

@(学习)[SaltStack]

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

id: salt-master111

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

2. Targeting分类

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

通配符匹配

[root@salt-master111 pillar]# salt "10.1.0.*" test.ping  
10.1.0.112:
    True
10.1.0.95:
    True
10.1.0.50:
    True
10.1.0.96:
    True
[root@salt-master111 pillar]# salt "10.1.0.[!1]*" test.ping 
10.1.0.95:
    True
10.1.0.50:
    True
10.1.0.96:
    True

正则匹配

[root@salt-master111 pillar]# salt -E "10.1.0.(95|96)" test.ping  
10.1.0.95:
    True
10.1.0.96:
    True

列表匹配

[root@salt-master111 pillar]# salt -L "10.1.0.95,10.1.0.96" test.ping       
10.1.0.95:
    True
10.1.0.96:
    True

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

IP地址匹配

[root@salt-master111 pillar]# salt -S "10.1.0.50" test.ping       
10.1.0.50:
    True

Grains匹配

[root@salt-master111 pillar]# salt -G "os:CentOS" test.ping          
10.1.0.95:
    True
10.1.0.112:
    True
10.1.0.50:
    True
salt-master111:
    True
10.1.0.96:
    True

Pillar匹配

[root@salt-master111 salt]# salt -I "Zabbix_Server:10.1.0.111" test.ping
10.1.0.112:
    True    

复合匹配

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.

[root@salt-master111 salt]# salt -C "G@os:CentOS and S@10.1.0.112" test.ping   
10.1.0.112:
    True
[root@salt-master111 salt]# 

Nodgroups

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

#nodegroups:
#  group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
#  group2: 'G@os:Debian and foo.domain.com'
#  group3: 'G@os:Debian and N@group1'
#  group4:
#    - 'G@foo:bar'
#    - 'or'
#    - 'G@foo:baz'
nodegroups:
    test112: '10.1.0.112'
[root@salt-master111 ~]# salt -N 'test112' test.ping           
10.1.0.112:
    True
[root@salt-master111 ~]# 

批处理执行

[root@salt-master111 salt]# salt '*' -b 2 test.ping

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

  "10.1.0.(95|96)":
    - match: pcre
    - apache

  "os:CentOS":
    - match: grain
    - apache

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

0
0
查看评论

saltstack 远程执行脚本

1.配置 file 模块文件 # cd /srv/salt # vim shell_test.sls shell_test:   cmd.script:     - source: salt://test/1.sh  # 服务端的脚本 ...
  • lyj1101066558
  • lyj1101066558
  • 2016-05-06 16:33
  • 4128

SaltStack实战之远程执行-Modules

SaltStack实战之远程执行-Modules 常用模块 禁用cmd模块方法
  • ygqygq2
  • ygqygq2
  • 2017-06-09 17:52
  • 266

SaltStack实战之远程执行-Returners

SaltStack实战之远程执行-Returners 1. Returners列表 2. 介绍mysql returner的用法 2.1 安装pip和MySQLdb 2.2 配置mysql数据库 2.2 配置salt-master 2.3 测试
  • ygqygq2
  • ygqygq2
  • 2017-06-09 17:59
  • 217

自动化管理工具Saltstack之服务管理(10)

1.启动服务 /srv/salt/service/nfs.sls rpcbind: service.running: - enable: True    #开机自动启动 # - enable: False nfs: service.running: - enable: ...
  • hnhuangyiyang
  • hnhuangyiyang
  • 2015-12-27 16:46
  • 2164

Saltstack 安装部署

Saltstack已经有一段时间了,不过现在我还是不知道如何对Saltstack做一个全面的定义。按照大家公认的说法,我们可以这样来定义Saltstack,一个整合了Puppet和 Chef的功能,更加强大,更适合大规模批量管理服务器的自动化工具,基于ZeroMQ通信,使用python开发的简单高可...
  • xiaocao12
  • xiaocao12
  • 2016-06-14 10:21
  • 2821

SaltStack实战应用

Saltstack是基于Python开发的一套C/S架构配置管理工具,轻松管理上万台服务器,服务器之间实现秒级通讯。
  • qq_30004245
  • qq_30004245
  • 2017-11-02 11:14
  • 374

Saltstack执行cmd.run重启tomcat后出现日志乱码(15)

Saltstack使用的cmd.run调用的是核心模块cmdmod.py,下面我们来看一下cmdmod.py模块的源码: cat /usr/lib/python2.6/site-packages/salt/modules/cmdmod.py ...... if reset_system_l...
  • hnhuangyiyang
  • hnhuangyiyang
  • 2015-12-28 21:50
  • 8346

SaltStack技术入门与实践

第1章 SaltStack入门 1.2.1 SaltStack软件依赖 SaltStack有两种消息系统,一种是REAT,一种是ZeroMQ,默认使用ZeroMQ. 软件依赖列表如下: ●Python版本大于2.6或版本小于3.0:对Python版本要求 ●msgpack-pyth...
  • foreverfriends
  • foreverfriends
  • 2017-09-01 17:06
  • 578

saltstack的常用操作(三) 命令与模块的执行

1.  命令执行结果,返回格式控制 1.1 nested格式     # salt --out=nested '*' cmd.run_all 'echo HELLO' SZB-L0008179:    ...
  • U201017971
  • U201017971
  • 2017-10-18 20:02
  • 216

saltstack 几个常用命令

1.salt 'slave-puppet.zjcap.cn' cp.get_file salt://apache.sls /tmp/apache.com 2.salt 'slave-puppet.zjcap.cn' cp.get_dir...
  • lyj1101066558
  • lyj1101066558
  • 2016-05-09 15:53
  • 797
    个人资料
    • 访问:53813次
    • 积分:1049
    • 等级:
    • 排名:千里之外
    • 原创:92篇
    • 转载:3篇
    • 译文:0篇
    • 评论:9条
    文章分类
    最新评论