ansible
目录
✏️ 记录了在批量部署openstack云平台时学习到的ansible命令,确实很方便!是使用py开发的。有时间可以看看源码,不少做运维平台,主机管理是基于这个做的web。
1. 远程执行命令
指定非部署节点执行
|
|
指定所有节点执行
|
|
deploy.ini内容如下:
|
|
2. 远程推送文件
|
|
这两个功能很好用,之前用paramiko模块编写的py脚本,实现批量执行命令和批量推送文件,这是建立在知道ip基础上的,也很好用。部署opentack云环境,用ansible和kolla-ansible在一台主机上实现部署,很方便。 ansible可以指定传输整个目录及权限
|
|
3. 查看日志
如果想查看详细的日志,可以加上 -vvv 参数
|
|
4. 使用示例
批量执行脚本
批量在执行非部署节点脚本,17台服务器
|
|
批量传输文件
|
|
注意传送文件时尽量不要批量传输大文件,否则带宽不足会比一台一台传输还慢的。我们在实际部署的时候就尝试过用它批量传输大文件,结果比单对单传输还慢。带宽达到瓶颈了。
5. 小结
ansible 在批量管理主机的时候还是相当有用的。我目前只用到了下面两种来辅助我的大规模部署。就这两个已经十分强大了。但有些功能它也无法实现,就需要自己写脚本了。例如我在项目中利用paramiko模块,subprocess模块实现的批量登录,传输,启链接,自动化部署等等。
- 批量传输文件
- 批量执行命令