• 北京公园科普月教您识飞鸟--旅游频道_百家讲坛刘秀 2018-11-26
  • 无证旅行社套路深 低价游、“潜规则”坑骗老年人--旅游频道_汉寿党建网 2018-11-26
  • 上赛道开启蒸蒸日上2018_叶赫那拉宇策 2018-11-26
  • 多名乘客生病 阿联酋一航班在纽约降落后被隔离_沈人杰 2018-11-26
  • 四川绵阳市涪城区工区街道迎宾社区党总支 
    盘活资源,让共建共治有支撑_重生之医门嫡女
    2018-11-26
  • 国家发改委助力民企纾困新表态:只要是好企业 我们就拿钱救_无路可逃by蓝飏 2018-11-26
  • 军事安全遭遇新变局新挑战_雅荡 2018-11-26
  • 青海省:游客在青海旅游被骗1万多 县委迅速协调解决_重生之我是宇智波泉奈 2018-11-26
  • 颠覆2018 悬疑2019_帮忙找一本书【要小说阅读网女生版那里的】 2018-11-26
  • 中国驻英大使馆在伦敦马克思墓前举办缅怀活动_朱炜明 2018-11-26
  • 综述:中马共享21世纪海上丝路新梦想_泰山恩仇 2018-11-26
  • 国庆在线旅游投诉七成都是酒店预订--旅游频道_影儿女装官网 2018-11-26
  • 交通运输部:前三季度高速公路完成投资超7亿_中原证券官网 2018-11-25
  • 涉案金额10.4亿!吕梁市原副市长张中生被判处死刑_何辅堂 2018-11-25
  • 景山学校落户通州!7大名校将为区域加分 _荀攸传 2018-11-25
  • 殷佳心>百态>正文

    使用UCloud GlobalSSH加速Ansible海外部署效率

    2019-04-24 14:16:32 IT产业网 分享

    殷佳心 www.yzcom.cn   Ansible是一个简单高效、无Agent架构的自动化编排、部署及配置管理工具,通过SSH协议实现远程节点和管理节点之间的通信。UCloud内部也大量使用到了Ansible。比如,UCloud机房产品部署系统,通过Ansible实现了部署效率的极大提升,目前已经成为UCloud机房部署的重要工具,本文将详细介绍Ansible在UCloud机房产品部署系统中的使用,相信对有多机房部署需求的读者会有帮助。

      什么是Ansible

      Ansible是一个简单高效、无Agent架构的自动化编排、部署及配置管理工具,通过SSH协议实现远程节点和管理节点之间的通信。

      Ansible的目的是简化大量复杂重复的运维工作, 以精简的技术思路建立公司内统一的自动化文化。无Agent的架构使其比其他工具更显简单,基于SSH可以做到的事Ansible都可以做的更好,超高的易用度使其可以简单集成到现有体系之中,因而被广泛使用。

      UCloud Ansible使用场景

      UCloud内部也大量使用到了Ansible。比如,机房产品部署系统,通过Ansible实现了部署效率的极大提升,目前已经成为UCloud机房部署的重要工具。又如,现网大规?;叶确⒉枷低?,通过集成Ansible的基础API和Callback功能,很好的解决了灰度发布、回滚、控制等难题,该系统已经在线上稳定运行3年以上,完成相关灰度发布任务上万个。

      下面将详细介绍Ansible在机房产品部署系统中的使用,相信对有多机房部署需求的读者会有帮助。

      海外多机房部署

      我们基于Ansible集中式地批量部署和管理服务,集中式管理中心位于北京/上?;?。当海外节点(如拉各斯、胡志明等)需要建设时,通过Ansible来远程部署云产品及内部服务。部分云产品是基于UCloud云主机作为IaaS层搭建的,所以也是通过SSH连到对应的海外云主机进行操作。

      这和一般用户的使用场景有很多相似之处,无论其是自建IDC或用了公有云,甚至多云部署来同时管理不同云上的服务器,都有类似批量部署的需要。

      海外部署有个额外的痛点,就是部署效率的问题。Ansible使用SSH协议进行通信,SSH通道的创建和通信速度都较慢。当需要通过外网管理,而网络环境较差或带宽不足的情况下,执行时间基本上无法忍耐,体现在用Ansible部署时,经?;岢鱿挚ǘ?、连接失败、传输速度较慢等现象,使用Copy??榇渖源蟮拇氚?镜像文件时基本上要等到花儿都谢了。

      我们的解决方法,是把UCloud的 PaaS产品GlobalSSH,集成进Ansible,用于提高跨国远程管理服务器效率。

      GlobalSSH

      GlobalSSH为了保障海外数据中心的运维而推出,采用了UCloud众多IaaS产品如ULB4(四层负载均衡)、UDPN(洲际内网互联、0丢包)及高包量云主机,引入智能DNS服务以提供就近接入的能力。网络转发基于成熟稳定的GRE、NAT技术,支持TCP端口(除80、443)四层转发。

      Ansible Playbook方式部署

      我们将GlobalSSH集成到Ansible,做一个简单的软件包拷贝及安装,步骤如下所示。

      1) 首先,我们通过UCloud API或控制台在北京二和拉各斯(尼日利亚)各创建一台云主机,带宽为1Mb,其中拉各斯机房会自动开启GlobalSSH功能(所有UCloud海外机房均会自动开启),如下图所示:

      2)准备一个简单的Ansible Playbook,分别完成3个步骤:gather facts、copy代码包以及yum安装代码。相关的playbook如下所示:

      --- - hosts: all tasks: - name: copy test copy: src=/data/MySQL-devel-5.6.41-1.el6.x86_64.rpm dest=/data/test - name: install mysql-devel yum: name=/data/MySQL-devel-5.6.41-1.el6.x86_64.rpm state=present

      3)准备一个hosts文件,用于配置GlobalSSH所生成的域名。Ansible在对GlobalSSH的支持上非常简单,只要在主机变量里面添加 ansible_ssh_host=xxx.xxx.xxx.xxx.ipssh.net即可。我们的机房部署系统会结合Ansible的Dynamic Inventory功能,直接在生成的inventory中将GlobalSSH的加速域名加到ansible_ssh_host变量中了,使用起来也是非常容易的,如下所示。

      [[email protected] ~]# cat hosts_nrly [all] 152.32.140.39 ansible_ssh_pass=example [[email protected] ~]# cat hosts_nrly_1 [all] 152.32.140.39 ansible_ssh_pass=example ansible_ssh_host=152.32.140.39.ipssh.net

    声明:本站部分资源来源于网络,版权归原作者或者来源机构所有,如作者或来源机构不同意本站转载采用,请通知我们,我们将第一时间删除内容。本站刊载文章出于传递更多信息之目的,所刊文章观点仅代表作者本人观点,并不意味着本站赞同作者观点或证实其描述,其原创性及对文章内容的真实性、完整性、及时性本站亦不作任何保证或承诺,请读者仅作参考。
    编辑:
    赖永初 | 武汉助孕公司 | 三亚代怀孕公司 | 天津代怀孕哪里找 | 郑州助孕优 | 南昌代怀孕 | 高鹰代孕 | 恒兴烧坊 | IT传奇霸业 | 大话健康网 | 孝感新闻资讯网 | 企鹅保险网 | 嵊州新闻资讯网 | 代生孩子的女人怎么找 | 吉林来孕 |