设为首页 收藏本站
查看: 694|回复: 1

[经验分享] SaltStack日常维护-第七篇

[复制链接]

尚未签到

发表于 2017-11-19 09:41:49 | 显示全部楼层 |阅读模式
练习内容

远程执行其他模块

官方模块有很多超过300+
  1.cmd.run
  2.network
  3.service
  4.state
  5.其它日常维护

演示

cmd.run模块

可以执行系统命令,超级模块有安全隐患,也可以更模块源代码限制危险命令执行比如(rm reboot等),二次开发一般不用此模块



[iyunv@linux-node1 salt]# salt '*' cmd.run 'w'
linux-node1.example.com:
17:36:55 up 12:00,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.56.1     16:01    7.00s  1.27s  0.36s /usr/bin/python /usr/bin/salt * cmd.run w
linux-node2.example.com:
17:36:56 up 12:00,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.56.1     16:01   54:32   0.00s  0.00s -bash
network模块

network.active_tcp,arp,connect


DSC0000.gif DSC0001.gif


[iyunv@linux-node1 salt]# salt -S '192.168.56.12' network.active_tcp
linux-node2.example.com:
----------
0:
----------
local_addr:
0.0.0.0
local_port:
111
remote_addr:
0.0.0.0
remote_port:
0
1:
----------
local_addr:
192.168.56.12
local_port:
8080
remote_addr:
0.0.0.0
remote_port:
0
2:
----------
local_addr:
0.0.0.0
local_port:
22
remote_addr:
0.0.0.0
remote_port:
0
3:
----------
local_addr:
127.0.0.1
local_port:
25
remote_addr:
0.0.0.0
remote_port:
0
4:
----------
local_addr:
192.168.56.12
local_port:
55880
remote_addr:
192.168.56.11
remote_port:
4505
5:
----------
local_addr:
192.168.56.12
local_port:
22
remote_addr:
192.168.56.1
remote_port:
50617
6:
----------
local_addr:
192.168.56.12
local_port:
44782
remote_addr:
192.168.56.11
remote_port:
4506
7:
----------
local_addr:
192.168.56.12
local_port:
44862
remote_addr:
192.168.56.11
remote_port:
4506
8:
----------
local_addr:
192.168.56.12
local_port:
44864
remote_addr:
192.168.56.11
remote_port:
4506
salt -S '192.168.56.12' network.active_tcp




[iyunv@linux-node1 salt]# salt '*' network.arp
linux-node2.example.com:
----------
00:0c:29:3c:56:22:
192.168.56.11
00:50:56:c0:00:08:
192.168.56.1
00:50:56:e2:2f:59:
192.168.56.2
linux-node1.example.com:
----------
00:0c:29:6d:87:0c:
192.168.56.12
00:50:56:c0:00:08:
192.168.56.1
00:50:56:e2:2f:59:
192.168.56.2
salt '*' network.arp




[iyunv@linux-node1 salt]# salt -S '192.168.56.12' network.connect www.baidu.com 80
linux-node2.example.com:
----------
comment:
Successfully connected to www.baidu.com (61.135.169.125) on tcp port 80
result:
True
salt -S '192.168.56.12' network.connect www.baidu.com 80
域名解析



salt '*' network.dig www.baidu.com
获取主机名



[iyunv@linux-node1 salt]# salt '*' network.get_hostname
linux-node1.example.com:
linux-node1
linux-node2.example.com:
linux-node2
获取网卡mac地址



[iyunv@linux-node1 salt]# salt '*' network.hw_addr eth0
linux-node1.example.com:
00:0c:29:3c:56:22
linux-node2.example.com:
00:0c:29:6d:87:0c
获取网卡ip地址相关信息





[iyunv@linux-node1 salt]# salt '*' network.interface eth0
linux-node1.example.com:
|_
----------
address:
192.168.56.11
broadcast:
192.168.56.255
label:
eth0
netmask:
255.255.255.0
linux-node2.example.com:
|_
----------
address:
192.168.56.12
broadcast:
192.168.56.255
label:
eth0
netmask:
255.255.255.0
salt '*' network.interface eth0
只获取ip地址信息



[iyunv@linux-node1 salt]# salt '*' network.interface_ip eth0
linux-node1.example.com:
192.168.56.11
linux-node2.example.com:
192.168.56.12
检查回环网卡信息



[iyunv@linux-node1 salt]# salt '*' network.is_loopback 127.0.0.1
linux-node1.example.com:
True
linux-node2.example.com:
True
获取网络连接信息



salt '*' network.netstat
网络ping



[iyunv@linux-node1 salt]# salt '*' network.ping www.baidu.com
linux-node1.example.com:
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121: icmp_seq=1 ttl=128 time=41.2 ms
64 bytes from 61.135.169.121: icmp_seq=2 ttl=128 time=50.1 ms
64 bytes from 61.135.169.121: icmp_seq=3 ttl=128 time=87.8 ms
64 bytes from 61.135.169.121: icmp_seq=4 ttl=128 time=86.0 ms
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3008ms
rtt min/avg/max/mdev = 41.298/66.354/87.884/20.883 ms
linux-node2.example.com:
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121: icmp_seq=1 ttl=128 time=47.3 ms
64 bytes from 61.135.169.121: icmp_seq=2 ttl=128 time=45.0 ms
64 bytes from 61.135.169.121: icmp_seq=3 ttl=128 time=90.8 ms
64 bytes from 61.135.169.121: icmp_seq=4 ttl=128 time=88.2 ms
--- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 45.089/67.892/90.865/21.685 ms
网络ping的其它参数



root@linux-node1 ~]# salt '*' network.ping archlinux.org timeout=3
linux-node2.example.com:
PING archlinux.org (138.201.81.199) 56(84) bytes of data.
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=128 time=247 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=2 ttl=128 time=260 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=3 ttl=128 time=268 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=4 ttl=128 time=296 ms
--- archlinux.org ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 247.004/268.189/296.863/18.292 ms
linux-node1.example.com:
PING archlinux.org (138.201.81.199) 56(84) bytes of data.
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=128 time=208 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=2 ttl=128 time=221 ms
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=3 ttl=128 time=232 ms
64 bytes from 138.201.81.199: icmp_seq=4 ttl=128 time=260 ms
--- archlinux.org ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 208.509/230.999/260.674/19.194 ms
[iyunv@linux-node1 ~]# salt '*' network.ping archlinux.org return_boolean=True
linux-node2.example.com:
True
linux-node1.example.com:
True
service模块

service是一个虚拟模块,要调用不同类型系统的服务查看



[iyunv@linux-node1 salt]# salt '*' service.get_all
linux-node1.example.com:
- -.mount
- NetworkManager
- NetworkManager-dispatcher
- NetworkManager-wait-online
......
检查ssh服务



[iyunv@linux-node1 salt]# salt '*' service.available sshd
linux-node1.example.com:
True
linux-node2.example.com:
True
重新加载web服务



[iyunv@linux-node1 salt]# salt '*' service.reload httpd
linux-node1.example.com:
True
linux-node2.example.com:
True
查看服务状态



[iyunv@linux-node1 salt]# salt '*' service.status httpd
linux-node1.example.com:
True
linux-node2.example.com:
True
执行模块state
  This function will call state.highstate or state.sls based on the arguments passed to this function. It exists as a more intuitive way of applying state



salt '*' state.apply
加载本地的yml



salt '*' state.apply localconfig=/path/to/minion.yml
查看minion在top.sls配置信息



[iyunv@linux-node1 salt]# salt '*node1*' state.show_top
linux-node1.example.com:
----------
base:
- web.lamp
单独执行pkg模块,执行模块直接就执行 ,状态模块先检查



root@linux-node1 ~]# salt 'linux-node1.example.com' state.single pkg.installed name=vim-enhanced
linux-node1.example.com:
----------
ID: vim-enhanced
Function: pkg.installed
Result: True
Comment: Package vim-enhanced is already installed.
Started: 18:27:39.793850
Duration: 825.955 ms
Changes:   
Summary
------------
Succeeded: 1
Failed:    0
------------
Total states run:     1
[iyunv@linux-node1 ~]#
其它日常维护

mange检查节点状态



[iyunv@linux-node1 ~]# salt-run manage.status
down:
up:
- linux-node1.example.com
- linux-node2.example.com
mange检查minion版本,有时候可能因为版本不同而导致执行失败



[iyunv@linux-node1 ~]# salt-run manage.versions
Master:
2015.5.10
Up to date:
----------
linux-node1.example.com:
2015.5.10
linux-node2.example.com:
2015.5.10
为了安全 可以先执行测试 test=True,没有问题在应用到服务器



salt "linux-node2*" state.highstate test=True
salt-cp拷贝文件



[iyunv@linux-node1 ~]# salt-cp   'linux-node2.example.com' /etc/rc.local  /mnt/
{'linux-node2.example.com': {'/mnt/rc.local': True}}
  附:英文参考文档 全部模块
  https://www.unixhot.com/docs/saltstack/ref/modules/all/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-408485-1-1.html 上篇帖子: js设置随机切换背景图片 下篇帖子: MAC终端 Linux服务器数据下载到本地
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表