首页 > 代码库 > Saltstack远程执行(四)

Saltstack远程执行(四)

  • Saltstack远程执行

语法例:salt ‘*‘ cmd.run ‘w‘

 -  命令:salt

 -  目标:‘*‘

 -  模块:cmd.run,自带150+模块,也可以自己写模块

 -  返回:执行后结果返回,Returnners组件

 

1、指定目标(targeting)

官网文档:https://docs.saltstack.com/en/latest/topics/targeting/index.html

两种定位方法:一种和minion ID有关,一种和monion ID无关

    1)minion ID有关的方法

  指定具体的minion ID

salt ‘linux-node2.example.com‘ test.ping

  通配符

salt ‘*‘ test.ping  
salt ‘linux-node2*‘ test.ping
salt ‘linux-node[1|2].example.com‘ test.ping
salt ‘linux-node[1-2].example.com‘ test.ping
salt ‘linux-node[!2].example.com‘ test.ping
salt ‘linux-node?.example.com‘ test.ping

  列表

salt -L ‘linux-node1.example.com,linux-node2.example.com‘ test.ping

  正则表达式

salt -E ‘linux-(node1|node2)*‘ test.ping
salt -E ‘linux-(node1|node2).example.com‘ test.ping

备注: 所有匹配目标的方式,都可以用到top file里面来指定目标。

minion ID设置方案:IP地址、根据业务来进行设置

例:
redis-node1-redis04-idc04-h5web.example.com
redis-node1  # redis第一个节点
redis04  # 集群
idc04  # 机房
h5web  # 业务线

   

    2)minion ID无关的方法

  IP地址、子网

salt -S 192.168.137.12 test.ping
salt -S 192.168.137.0/24 test.ping

  分组,需要配置master文件

vim /etc/salt/master

技术分享

重启systemctl restart salt-master

salt -N web test.ping

  混合匹配

官方文档 https://docs.saltstack.com/en/latest/topics/targeting/compound.html

技术分享

  批处理 ,可用于重启所有主机或进程场景,百分比或固定数量的一点一点重启主机或进程

官方文档 https://docs.saltstack.com/en/latest/topics/targeting/batch.html

技术分享

 

Saltstack远程执行(四)