Saltstack的一个比较突出优势就是具备执行远程命令的功能。
操作方法与func(fedorahosted.org/func/) 相似,可以帮助运维人员完成集中化的操作平台。
docs.saltstack.cn/topics/targ…
命令格式:salt '<操作目标>' <方法> [参数]
[root@saltstack-master master]# salt 'saltstack_web1group_1' cmd.run 'free -m'
saltstack_web1group_1:
total used free shared buffers cached
Mem: 230 223 6 0 15 55
-/+ buffers/cache: 153 77
Swap: 2083 222 1861
复制代码
其中针对<操作目标>,saltstack提供了多种方法对被控制端(id)进行过滤。下面列举常用的具体参数;
[root@saltstack-master master]# salt -E '^saltstack.*' test.ping
saltstack_web1group_1:
True
saltstack_web1group_2:
True
复制代码
[root@saltstack-master master]# salt -L 'saltstack_web1group_1,saltstack_web1group_2' grains.item osfullname
saltstack_web1group_1:
----------
osfullname:
CentOS
saltstack_web1group_2:
----------
osfullname:
CentOS
复制代码
比如过滤内核为Linux的主机可以写成'kernel:Linux',如果同时需要正则表达式的支持可以切成--grain-pcre参数来执行。
[root@saltstack-master ~]# salt -G 'osrelease:6.5' cmd.run 'python -V'
saltstack_web1group_1:
Python 2.6.6
saltstack_web1group_2:
Python 2.6.6
复制代码
探测具有"httpd:root:/data"信息的主机连通性。
[root@saltstack-master ~]# salt -I 'httpd:root:/data' test.ping
saltstack_web1group_1:
True
saltstack_web1group_2:
True
其中pillar属性配置文件如下:
httpd:
root: /data
复制代码
如下配置的组信息(主机信息支持正则表达式、grain、条件运算符等),通常根据业务类型划分,不同业务具备相同的特点,包括部署环境、应用平台、配置文件等。
L@:表示后面的主机id格式为列表,即主机id以逗号隔开; G@:表示以grain格式描述; S@:表示以ip子网或地址格式描述;
[root@saltstack-master salt]# vim /etc/salt/master
nodegroups:
web1group: 'L@saltstack_web1group_1,saltstack_web1group_2'
[root@saltstack-master salt]# salt -N web1group test.ping
saltstack_web1group_2:
True
saltstack_web1group_1:
True
复制代码
[root@saltstack-master salt]# salt -C 'E@^salt.* and G@os:Centos' test.ping
saltstack_web1group_1:
True
saltstack_web1group_2:
True
复制代码
not语句不能作为第一个条件执行,不过可以通过以下方法来规避:
[root@saltstack-master salt]# salt -C '* and not E@^Jenkins.*' test.ping
saltstack_web1group_2:
True
saltstack_web1group_1:
True
复制代码
[root@saltstack-master salt]# salt -S 192.168.0.0/16 test.ping
saltstack_web1group_1:
True
saltstack_web1group_2:
True
复制代码
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。