轻量级自动化运维工具介绍


部署跳板机的好处有:

  • 基于安全性考虑,只有跳板机开放了公网 IP SSH-key 登录,其他业务机器默认只允许内网登录,公网 IP 地址不对外开放。
  • 方便自动化运维部署,跳板机上面做了免密码登录,可以直接通过 SSH 命令操作他业务机器
  • 权限控制管理,跳板机上面部署了几套 key ,分别对应不同的权限分配用户,公司的同事按照不同的职能获得相应的私钥登录跳板机,分配的相应权限也是不一样的

部署跳板机应该注意的事项:

网络质量要好,因为跳板机要求是质量很好的 BGP 机房(这个时候需要走公网连接) 要特别注意安全的问题,适当控制主机登陆还是有好处的,可以通过 iptables控制允许登陆的 IP 地址

如果是 AWS 云主机数据中心,可以考虑在每个数据中心部署一个跳板机(因为AWS 每个数据中心都是独立的,只能通过公网连接 跳板机与机房其他机房通过内网 SSH 连接,不需要走公网,这样设计的好处是可以减少因为公网链路质量不
好而引发的各种链接问题)

轻量级自动化运维工具 pssh 介绍

随着集群环境的规模越来越大 网站需要管理和维护的机器也越来越多,例如管理达到8000台机器。
pssh 是一个由 python 编写,可以在多台服务器上执行命令的工具,同时支持拷贝文件,在同类工具中较为出色

pssh命令下载地址

https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/p/pssh-2.3.1-5.el7.noarch.rpm
安装
[root@master new]# yum install -y pssh-2.3.1-5.el7.noarch.rpm
[root@master ~]# pssh --help
参数介绍
-H此参数后面跟一个远程主机或IP地址,格式为[user@host[:port]], 例如ec2@192.168.1.11。
-h此参数后面跟一个远程主机列表文件。
-l远程机器的用户名。
-p指定pssh最大并行进程数。
-o输出内容重定向到一个文件。
-e执行错误重定向到一个文件。
-t设置命令执行的超时时间。
-A提示输人密码并且把密码传递给ssh。
-O设置ssh参数的具体配置,参照ssh _config配置文件。
-x传递多个SSH命令,多个命令用空格分开。
-X同-x,但是一次只能传递一个命令,比如不规则的SSH端口,例如-X -p’12233’。
-i显示标准输出和标准错误在每台host执行完毕后的结果。
-P执行时输出执行信息。

安装完成以后有以下几个命令:

命令介绍
pssh在多个主机上并行地运行命令。
pscp把文件并行地复制到多个主机上。
prsyne通过rsync协议把文件高效地并行复制到多个主机上。
pslurp把文件并行地从多个远程主机复制到中心主机上。
pnuke并行地在多个远程主机上杀死进程。

注意“pssh最多可以生成 32 个进程,并行地连接各个节点。如过远程命令在60秒内没有
完成,连接就会终止 如果命令需要更多的处理时间,可以使用-t设置更长的到期。( parallel-scp 和parallel-rsyne 没有默认的到期时间,但是可以用-t 指定到期时间 。)

pssh使用

hosts.list文件内容如下所示:

[root@master pssh]# vim hosts.list
192.168.122.5
192.168.122.6

1)查看客户端机器的系统负载,执行命令如下所示:

[root@master pssh]# pssh  -h hosts.list  -l root  -P "uptime"

命令结果如下所示;

192.168.122.5:  22:04:51 up 1 day, 18:13,  0 users,  load average: 0.00, 0.01, 0.05
[1] 22:04:51 [SUCCESS] 192.168.122.5
192.168.122.6:  20:50:56 up 64 days,  1:34,  1 user,  load average: 0.00, 0.01, 0.05
[2] 22:04:51 [SUCCESS] 192.168.122.6

2)在各个客户端机器上面执行安装vim的命令,命令如下所示;

[root@master pssh]# pssh  -h  hosts.list  -l root -P "yum install  -y vim" -t 600
192.168.122.5: Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-
              : manager
192.168.122.5:
This system is not registered with an entitlement server. You can use subscription-manager to register.

192.168.122.5: Loading mirror speeds from cached hostfile
192.168.122.6: Loaded plugins: fastestmirror
192.168.122.5: Package 2:vim-enhanced-7.4.629-6.el7.x86_64 already installed and latest version
No package 600 available.
192.168.122.6: Determining fastest mirrors
192.168.122.6: Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
[1] 22:06:42 [FAILURE] 192.168.122.6 Exited with error code 1
192.168.122.5: Nothing to do
[2] 22:06:42 [SUCCESS] 192.168.122.5

3)复杂文件到远程机器的指定目录,命令如下所示:

[root@master pssh]# pscp.pssh   -h hosts.list -l root -r  ~/tools/awk.a   /tmp/
[1] 22:08:23 [SUCCESS] 192.168.122.5
[2] 22:08:23 [SUCCESS] 192.168.122.6
使用感受

在实际工作中我们会发现,其实pssh还是有很多缺点的,如下所示:

  • 如果主机机器多的话,整个显示结果其实是无序的,我们没有办法获取其结果反馈。

  • 复杂些的角色分类支持得不是很好。

  • 没有提供API, 不方便二次开发。.
    所以这个时候我们需要找功能更为强大的自动化运维工具,这里我们推荐大家使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值