zoukankan      html  css  js  c++  java
  • 解决ansible上传速度慢的问题

    问题:

    假如有A、B、C、D....等机器,机器A为Ansible服务器机器B、C、D...等Ansible管理的节点服务器,A机器与其他机器都不在同一个网络,也就是A机器必须添加VPN之后才能与其他机器通信,我要上传文件夹到节点服务器;
     
    普通的上传文件方法是用Ansible的copy模块把放在files里的文件上传上去,这个昨天部署的时候,4台并发,打包上传,用了42分钟,平时手动拷贝一下分把钟的事情,这样就让自动部署失去意义了
    name: put the latest api to server
    copy: src=api.tar.gz dest=/usr/local/tomcat/webapps/
     
    传慢的原因分析:(我自己这么想的)
    1:Ansible是通过VPN连接上去的,上传速度慢
    2:Ansible文件上传本身速度就慢
     
    解决办法:
    我先手动上传到一台B机器,然后由B机器用scp的形式分发给C、D、E....等机器
     
    解决过程遇到的问题:
    也就是Ansible要把写好的scp拷贝脚本在B机器上执行,然后就动手干,先把文件夹手动上传到B机器的/home/lile目录下,先做单台测试:
    ---
     - hosts: B机器
       remote_user: lile
       sudo: yes
     
       tasks:
        - name: from B机器 put the api to other node
          shell: scp -r -P 34110 /home/lile/api lile@C机器:/home/lile/
     
    这里执行的结果就是,一直卡着不动,然后在B机器上去查看ps -ef|grep scp 是可以看得到Ansible在B机器上执行scp脚本的一些东西,比如:
    他卡在那里,那我就在B机器上自己手动执行这几条命令,看行不行,能不能执行成功,因为ansible的原理是把脚本拷贝在远程节点的tmp下,然后执行吗,既然他卡着了,肯定有问题,那我手动执行一下,问题就找到了,执行tmp的那个脚本的时候,提示要输入密码,那么怎么解决scp不需要密码呢,那就是把自己的公钥拷过去,也就是ssh-copy-id -i B机器的id_rsa.pub C机器,这样B机器拷贝东西过去就不用密码了,再来执行一遍这个yml,还是卡着,这又是为啥呢,我按照前面的办法,手动执行他传过来的脚本,是可以成功scp过去的,后来想了一想,因为ansible是用普通用户执行的,用了sudo,sudo加scp是必须得要输入密码的,那我怎么把sudo这个东西去掉呢,反过来看了一下yml,sudo用了yes,那么我把这一句去掉就可以了,但是其他的还是的要sudo才能行,就直能把这个拷贝的yml做一个单独的执行过程了。
     
     
    最后的那个模型大概就是这样:
     
    ---
     - hosts: B机器
       remote_user: lile
     
       tasks:
        - name: from B机器 put the api to other node
          shell: scp -r -P 34110 /home/lile/api lile@{{ item }}:/home/lile/
          with_items:
             - C机器
             - D机器
             - E机器
             - F机器
             ......

     
  • 相关阅读:
    minSdkVersion maxSdkVersion targetSdkVersion target 的区别
    C++实现DNS域名解析
    2018-2019-2 《网络对抗技术》Exp9 Web安全基础 20165114
    2019年课程设计本小组第一周——20165114
    2018-2019-2 20165114《网络对抗技术》 Exp 8 Web基础
    2018-2019-2 20165114《网络对抗技术》Exp7 网络欺诈防范
    2018-2019-2 20165114《网络对抗技术》Exp6 信息收集与漏洞扫描
    2018-2019-2 20165114《网络对抗技术》Exp5 MSF基础应用
    2018-2019-2 20165114《网络对抗技术》Exp4 恶意代码分析
    2018-2019-2 20165114《网络对抗技术》Exp3 免杀原理与实践
  • 原文地址:https://www.cnblogs.com/lemon-le/p/6927526.html
Copyright © 2011-2022 走看看