當前位置:首頁 >  IDC >  云計算 >  正文

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

 2019-04-10 13:44  來源: 互聯(lián)網   我來投稿 撤稿糾錯

  阿里云優(yōu)惠券 先領券再下單

Ansible是一個簡單高效、無Agent架構的自動化編排、部署及配置管理工具,通過SSH協(xié)議實現(xiàn)遠程節(jié)點和管理節(jié)點之間的通信。UCloud內部也大量使用到了Ansible。比如,UCloud機房產品部署系統(tǒng),通過Ansible實現(xiàn)了部署效率的極大提升,目前已經成為UCloud機房部署的重要工具,本文將詳細介紹Ansible在UCloud機房產品部署系統(tǒng)中的使用,相信對有多機房部署需求的讀者會有幫助。

什么是Ansible

Ansible是一個簡單高效、無Agent架構的自動化編排、部署及配置管理工具,通過SSH協(xié)議實現(xiàn)遠程節(jié)點和管理節(jié)點之間的通信。

Ansible的目的是簡化大量復雜重復的運維工作, 以精簡的技術思路建立公司內統(tǒng)一的自動化文化。無Agent的架構使其比其他工具更顯簡單,基于SSH可以做到的事Ansible都可以做的更好,超高的易用度使其可以簡單集成到現(xiàn)有體系之中,因而被廣泛使用。

UCloud Ansible使用場景

UCloud內部也大量使用到了Ansible。比如,機房產品部署系統(tǒng),通過Ansible實現(xiàn)了部署效率的極大提升,目前已經成為UCloud機房部署的重要工具。又如,現(xiàn)網大規(guī)模灰度發(fā)布系統(tǒng),通過集成Ansible的基礎API和Callback功能,很好的解決了灰度發(fā)布、回滾、控制等難題,該系統(tǒng)已經在線上穩(wěn)定運行3年以上,完成相關灰度發(fā)布任務上萬個。

下面將詳細介紹Ansible在機房產品部署系統(tǒng)中的使用,相信對有多機房部署需求的讀者會有幫助。

海外多機房部署

我們基于Ansible集中式地批量部署和管理服務,集中式管理中心位于北京/上海機房。當海外節(jié)點(如拉各斯、胡志明等)需要建設時,通過Ansible來遠程部署云產品及內部服務。部分云產品是基于UCloud云主機作為IaaS層搭建的,所以也是通過SSH連到對應的海外云主機進行操作。

這和一般用戶的使用場景有很多相似之處,無論其是自建IDC或用了公有云,甚至多云部署來同時管理不同云上的服務器,都有類似批量部署的需要。

海外部署有個額外的痛點,就是部署效率的問題。Ansible使用SSH協(xié)議進行通信,SSH通道的創(chuàng)建和通信速度都較慢。當需要通過外網管理,而網絡環(huán)境較差或帶寬不足的情況下,執(zhí)行時間基本上無法忍耐,體現(xiàn)在用Ansible部署時,經常會出現(xiàn)卡頓、連接失敗、傳輸速度較慢等現(xiàn)象,使用Copy模塊傳輸稍大的代碼包/鏡像文件時基本上要等到花兒都謝了。

我們的解決方法,是把UCloud的 PaaS產品GlobalSSH,集成進Ansible,用于提高跨國遠程管理服務器效率。

GlobalSSH

GlobalSSH為了保障海外數(shù)據(jù)中心的運維而推出,采用了UCloud眾多IaaS產品如ULB4(四層負載均衡)、UDPN(洲際內網互聯(lián)、0丟包)及高包量云主機,引入智能DNS服務以提供就近接入的能力。網絡轉發(fā)基于成熟穩(wěn)定的GRE、NAT技術,支持TCP端口(除80、443)四層轉發(fā)。

Ansible Playbook方式部署

我們將GlobalSSH集成到Ansible,做一個簡單的軟件包拷貝及安裝,步驟如下所示。

1) 首先,我們通過UCloud API或控制臺在北京二和拉各斯(尼日利亞)各創(chuàng)建一臺云主機,帶寬為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即可。我們的機房部署系統(tǒng)會結合Ansible的Dynamic Inventory功能,直接在生成的inventory中將GlobalSSH的加速域名加到ansible_ssh_host變量中了,使用起來也是非常容易的,如下所示。

[root@10-10-83-122 ~]# cat hosts_nrly [all] 152.32.140.39 ansible_ssh_pass=example [root@10-10-83-122 ~]# cat hosts_nrly_1 [all] 152.32.140.39 ansible_ssh_pass=example ansible_ssh_host=152.32.140.39.ipssh.net

4)使用ansible-playbook命令執(zhí)行該playbook,任務完成。

測試對比

前面提到,GlobalSSH大幅提高了我們海外部署的效率??梢酝ㄟ^另寫一個無GlobalSSH加速的Playbook,來測試一下具體的加速效果。

無GlobalSSH的Playbook寫起來比較簡單,和上文基本類似,區(qū)別在第三步的hosts文件里不使用加速域名,而是直接填寫原有的外網IP地址。

為防止單次測試結果的不準確,這里測試了10次,取平均值進行比較。

測試命令:

time for i in `seq 1 10`; do ansible-playbook -i hosts_nrly test_playbook.yml; done time for i in `seq 1 10`; do ansible-playbook -i hosts_nrly_1 test_playbook.yml; done

最終的結果如下所示,可以看到在簡單的Ansible Playbook部署中, 經過GlobalSSH加速后的效果提升了32.23%。

Ansible Ad-hoc方式

GlobalSSH在低速的帶寬下可以提升整個網絡傳輸?shù)姆€(wěn)定性和速度,尤其是對RTT (Round-Trip Time)往返延遲的提升,更是有著外網彈性IP所不具備的速度優(yōu)勢。 因此我們認為它對Ansible Ad-hoc方式也有很大幫助。

運維人員經常會用Ad-hoc方式,它類似pssh,卻支持Ansible所有的module語法,通常的使用場景是批量執(zhí)行命令并查看回顯結果。為了驗證假設,我們對Ad-hoc方式也做了類似測試,發(fā)現(xiàn)GlobalSSH后的優(yōu)化效果更明顯,優(yōu)化速度超過50%,詳細結果如下所示。

測試命令:

time for i in `seq 1 10`; do ansible -i hosts_nrly all -m shell -a "cat /var/log/messages"; done time for i in `seq 1 10`; do ansible -i hosts_nrly_1 all -m shell -a "cat /var/log/messages"; done

測試結果:

總結

Ansible是被大量使用的DevOps工具,我們在使用中根據(jù)需要,將GlobalSSH很容易地集成其中,避免了服務器部署中SSH卡頓造成的不良影響。

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關文章

  • 租用服務器帶寬預估大小怎么算?一文讀懂核心邏輯與實用技巧

    基礎公式為:帶寬(Mbps)=(峰值流量需求×8)/時間占比。例如,若網站每日高峰時段流量占全天的40%,需在此期間滿足60%的用戶訪問,則需將日均流量按比例分配至高峰時段計算。

  • 2025年華納云新年煥新季,香港云4H4G3M特惠696元/年,E5物理服務器688元/月起

    新年伊始,萬象更新,為回饋新老用戶,香港IDC華納云官網特別推出【新年煥新季】活動,爆款產品低至2折,包括云服務器、CN2服務器、站群服務器、大帶寬服務器、高防服務器等多種產品優(yōu)惠,全場續(xù)費不漲價!活動截止時間2025年2月12日;點擊直達【華納云官網】本次活動內容如下:1.海外云服務器低至16元/

    標簽:
    云計算
  • 永久免費的網站服務器有哪些?永久免費的網站服務器品牌推薦!

    搭建網站通常需要租用服務器,但對于個人博客、小型項目或預算有限的用戶來說,免費服務器也是一個不錯的選擇。市面上提供永久免費網站服務器的品牌雖然不多,但認真挑選也能找到滿足基本需求的服務。本文將介紹幾家提供永久免費方案的VPS云服務器品牌,從品牌介紹、官網地址、產品優(yōu)勢、產品價格以及評測總結等方面進行

    標簽:
    網站服務器
  • 永久免費的網站服務器有哪些 免費海外網站服務器品牌推薦

    搭建網站通常需要租用服務器,對于個人博客、學習項目或小型網站來說,如果能找到永久免費的網站服務器,無疑能節(jié)省不少成本。然而,真的有“永久免費的午餐”嗎?答案是:幾乎沒有!市面上宣稱“永久免費”的服務器通常存在各種限制,例如配置低、資源有限、廣告強制顯示等,而且穩(wěn)定性和安全性難以保證。但好消息是,仍然

  • 久免費的網站服務器有哪些?穩(wěn)定免費的網站服務器推薦

    搭建個人網站、測試項目或者學習新技能,都需要用到網站服務器。然而,對于預算有限的用戶來說,購買付費服務器可能會是一筆不小的開銷。好消息是,市面上也存在一些提供永久免費網站服務器的平臺。本文將介紹幾款穩(wěn)定免費的網站服務器,并從品牌介紹、官網地址、產品優(yōu)勢、產品價格以及評測總結等方面進行詳細分析,幫助你

    標簽:
    網站服務器

熱門排行

信息推薦