接触了下 ansible 不错,也推荐给大家哈

作为一个伪运维,肯定要批量操作服务器集群了,单台依次操作,真是难受啊。有没有工具能够一次执行多端显示呢?看我同事在用 ansible
,很强大,瞎折腾了下,ok,满足需求,非常实用。不过自己还是比较笨,学一些新工具总是很慢。

安装比较痛苦,总是超时,最后用了国内镜像+本地软件包,才安装成功

sudo easy_install pip

sudo pip install ansible (一直超时)

然后提示我下载软件包在本地安装,不过还有好多依赖的东西也总是下载失败,最后通过配置镜像,安装完成。

sudo pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ /Users/zhoumengkang/Downloads/ansible-2.2.0.0.tar.gz

然后在家目录下新建一了个 hosts 文件,插入了一个分组 product
下面有10台机器。

$ cat ~/hosts
[product]
yq_200
yq_185
yq_167
yq_96
yq_152
yq_134
yq_225
yq_65
yq_83
yq_136

这些服务器别名都是我配置在 ~/.ssh/config
好的。

然后在终端执行下命令:

[email protected]:~$ ansible -i hosts product -m shell -a vmstat
yq_167 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 1155180 155416 1374512    0    0     1    20    0    0  3  0 96  0  0

yq_200 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
1  0      0 490932 292456 2446672    0    0     2    19    1    1  3  0 96  0  0

yq_185 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 5994480 121712 1132976    0    0     1    33    0    0  4  0 96  0  0

yq_96 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0  49500 166460 1366892    0    0     1    20    1    1  4  1 96  0  0

yq_152 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0  51220 324788 1411120    0    0     0    12   21   11  2  0 97  0  0

yq_134 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0  52520 320524 1282820    0    0     0    12   20   11  2  0 97  0  0

yq_225 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 453740 358292 1444124    0    0     0    12   13   10  2  0 97  0  0

yq_136 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 5268904 356984 1545880    0    0     0    13   10   11  2  0 97  0  0

yq_83 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 453208 351480 1427116    0    0     0    12    1    9  2  0 97  0  0

yq_65 | SUCCESS | rc=0 >>
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 297928 355376 1499784    0    0     0    12   15   10  2  0 97  0  0

这样我推送某一个文件到各个服务器,我就不用一台一台去查看文件最后的更新时间了,直接

ansible -i hosts product -m shell -a ls -al xxx

就行啦,nice!

pip 安装 python 库总超时的解决办法 https://segmentfault.com/q/1010000000162410

  • 版权声明: 本文源自互联网, 于2个月前,由整理发表,共 2471字。
  • 原文链接:点此查看原文