slatstack中的远程执行命令的方法

之前的博客有介绍过salt的配置和搭建方法,如果需要在master端对minion进行一定的操作需要使用远程执行命令。salt的底层架构就是起源于远程执行命令的想法,以下进行命令的介绍

salt命令的target

如果需要使用salt命令需要先指定好target
用于指定的参数有如下

'*'           用于指定所有可以使用的Minion
-E或者--pcre   用于使用perl语言兼容的正则表达式来指定目标
-L            用于使用逗号分隔的方式来指定多个minion
-S或者--ipcidr 用于指定一个ipv4地址或者一个CIDRIPv4子网来指定target
-G或者--grain  使用grain的方式来进行指定target
-I或者--pillar 使用pillar数据来进行指定target
-C或者--compound 使用混合的方式来进行指定
-N或者--nodegroup  使用节点组来指定

以下进行对参数的简单使用范例

salt '*' test.ping

对所有的minion进行测试。

salt -S 172.25.254.11 test.ping
salt -S 172.25.254.0/24 test.ping

指定一个ipv4地址或者是一个ipv4的子网,但是不支持ipv6
特别的在这里说一下Grain的用法。
salt可以通过操作系统或者CPU架构来对机器的一些指定特征来进行指定Minion
比如说指定操作系统

[root@saltstack ~]# salt -G 'os:redhat' test.ping
openstack:
    True
[root@saltstack ~]# salt -G 'os:Ubuntu' test.ping
No minions matched the target. No command was sent, no jid was assigned.
ERROR: No return received

当然有些Grain是多级字典,需要用’:’(冒号)来分隔key。

如果需要使用节点组 —N参数,则需要修改好配置文件,在master文件中进行修改

1019 nodegroups:
1020   group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.co     m'
1021   group2: 'G@os:Debian and foo.domain.com'
1022   group3: 'G@os:Debian and N@group1'
1023   group4:
1024     - 'G@foo:bar'
1025     - 'or'
1026     - 'G@foo:baz'

然后在命令中指定你在配置文件中写好的组名就可以了
例:

salt -N group1 test.ping

远程执行命令的模块

在salt中远程运行命令的格式如下:
salt < target > <模块名><方法>[参数…]
所以在salt中可用于执行命令的模块有

test.ping 用于测试minion是否可以响应
test.echo 用于显示字符串(后头需要传递参数)
test.sleepping类似,但是在后面可以加数字,表示多久以后返回True
test.version 用于返回minion的saltstack版本。
pkg.install 用于安装软件包,类似于远程执行yum install 
pkg.remove 用于卸载软件包,类以于远程执行yum remove
fire.replace 用于编辑文件类似的还有file.chown file.chgrp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值