【編者的話】本次將分享的容器化ICT融合平臺是一種面向將來ICT系統的新型雲計算PaaS平臺,它基於容器這一輕量級的虛擬化技術以及自動化的「微服務」管理架構,可以有效支撐應用快速上線和自動擴縮容,最大化IT基礎設施資源利用率並下降整體擁有成本(TCO)。將來的網絡正在向IT化、雲化方向發展,容器與微服務技術,完美契合「網絡即服務」、網絡切片等發展理念,將有助於實現更加靈活、智能、高效和開放的5G新型網絡。
2015年,NFV和容器無疑都是最熱門的技術,被不少業內人士認爲是將來的發展趨勢;2016年,當NFV趕上容器,會碰撞出什麼新的火花?當容器化的CT/IT業務在同一平臺內融合部署,又會產生怎樣新的體驗?下面和你們分享一下,從2015年到2016年,咱們作的容器化CT-IT融合方面的工做。IT我就不解釋了,CT這裏主要指的是電信業務。
容器化CT-IT融合系統是一種面向將來ICT系統的新型雲計算PaaS平臺,它基於容器這一輕量級的虛擬化技術以及自動化的微服務管理架構,可以有效支撐應用快速上線和自動擴縮容,最大化IT基礎設施資源利用率並下降整體TCO。將來的網絡正在向IT化、雲化方向發展,容器與微服務技術,完美契合「網絡即服務」、網絡切片等發展理念,將有助於實現更加靈活、智能、高效和開放的5G新型網絡。
下面是從2015年到2016年,咱們作的容器化CT-IT融合方面的工做:
- 2015年,咱們首次提出容器化ICT融合方案
- 2016年初,咱們完成容器化ICT融合原型系統
- 2016年4月8日~4月9日,中國移動召開2016年度技術工做會,容器化ICT融合原型系統首次亮相技術工做會精品展。
- 2016年6月20日~6月23日,OPNFV Summit在德國柏林召開。在OPNFV PoC戰區,中國移動和紅帽公司聯合展現了容器化ICT融合平臺
- 2016年6月29日,由GSMA主辦的2016世界移動大會-上海(Mobile World Congress,簡稱MWC)在上海新國際博覽中心盛大開幕,在中國移動研究院5G展區,咱們爲參會專家演示了容器化ICT融合原型系統。
最初產生將網元容器化的想法來源於2015年,咱們正在進行NFV IMS測試,同時也正在進行容器和DCOS的相關技術研究和驗證性工做,關於應用場景,最適合容器化的應用無疑是所謂的雲原生應用,或者說是微服務,其主要特色是分佈式、無單點失效、無狀態,這和咱們測試的某些廠商的IMS網元的特徵居然如此地一致,而容器的輕量級、高性能、快速啓動等優點,也剛好是網元所須要的,幾分鐘部署一套核心網元或許真的會從夢想變成現實。因而,一對新的組合誕生了,NFV Container=NFC。
理論+實踐才能創造出真理,在理論分析的基礎上,可行性驗證必不可少,而驚喜老是無處不在,嘗試創新的道路也不是總那麼孤獨,開源的IMS項目Clearwater也在作和咱們相似的工做。Clearwater是IMS網元的一個開源實現,其主要目標是開發一套適合在雲上(如aws)部署的IMS網元,提供語音、視頻、消息服務。Clearwater在架構上就以微服務的方式設計各個組件,而且提供了docker格式的容器鏡像,咱們將它移植到Kubernetes平臺上,平臺具備負載均衡、容災恢復、支持資源監控等特色使其更適合服務化
測試環境
硬件
Red Hat 3D打印演示系統,內含3臺服務器。
軟件
- 操做系統:Red Hat Enterprise Linux Server release 7.2 (Maipo)
- 容器引擎:docker-1.8.2-10.el7.x86_64
- 容器編排:kubenetesv1.1.0-origin-1107-g4c8e6f4
Clearwater架構
Clearwater架構主要分爲六大組件,Bono、Ralf、Sprout、Homer、Homestead、Ellis,以下圖所示,其中Sprout做爲SIP Router,是核心業務處理模塊,也是業務量增長時,須要作動態擴容的主要部分。
NFC測試方案
針對Clearwater中每一個組件,定義一個Kubernetes Service,每一個服務中包含一個或多個POD,能夠經過增長POD個數進行橫向擴展。
Kubernetes中服務列表以下圖所示:
Kubernetes中POD列表以下圖所示。測試過程當中,經過基於SIPP的clearwater組件增長併發用戶量,系統壓力增長,觸發sprout服務中POD個數增長。
爲實現POD的動態擴展,一方面,利用Kubernetes自己的replication controllers,根據負載增長或減小POD副本數量,另外一方面,clearwater sprout是微服務架構,分佈式,無狀態,數據和應用分離,可經過集羣配置,讓集羣中各個容器共享數據庫。
在併發用戶數爲300個時,sprout模塊POD數量通常爲2~3個,在併發用戶數增長到2000個時,sprout模塊POD數量達到11個,若是繼續增長併發用戶數到3000個,sprout模塊POD數量達到15個左右。
CT-IT融合測試方案
在大數據應用中,容器的輕量級、高性能、快速啓動等特色一樣具備優點,而CT和IT業務融合部署,也是將來發展的一個趨勢,在本次測試中,咱們在同一個容器平臺上,部署了IMS網元和大數據應用。
在CT應用負載比較低的時候,系統主要用於進行大數據應用計算,大數據應用所佔系統CPU資源比例較高。以下圖資源監控界面所示。
當CT業務量增長,系統負載增大,爲知足在線CT業務要求,增長CT業務容器數量,同時減小大數據離線業務佔用資源。資源使用狀況變化以下圖所示。
總結
容器做爲輕量級的虛擬化技術,能夠下降系統開銷,提高系統性能。
- CT/IT融合部署:CT和IT應用在同一平臺內混合部署,共享資源,提升資源利用率。
- 統一資源調度:打破應用豎井,統一建設,統一運維,下降TCO
- 系統性能提高:採用容器技術,輕量級的虛擬化,下降系統開銷
- 微服務架構:分佈式、無狀態的雲原生應用,實現應用於數據的分離
- 彈性伸縮、自動擴容:支持自定義的資源調度策略,實現根據業務量變化的資源動態調度。
Q&A
Q:網絡轉發有沒有遇到瓶頸?有沒有嘗試一些加速技術,好比DPDK?
A:由於是控制面網元,目前沒有遇到瓶頸,沒有用DPDK,咱們以前測試過虛擬機的,由於網元特色,也是沒有配置DPDK,目前的測試上看,性能上沒有問題。
Q:如今數據庫也放在容器中嗎?
A:是的,可是也是數據庫集羣,咱們正在作將數據庫分離的工做。
Q:大家實測的容器運行於虛擬機環境,性能如何,大家容器網絡如何實現NFV互聯?
A:容器沒有基於虛擬機環境,由於是控制面網元,性能沒有遇到瓶頸。
Q:容器不會包打天下,與虛機,物理機並存多是一段時間內的一種常態,咱們有沒有分析哪些業務適合容器化,哪些業務不宜改變?而且在利用Kubernetes做爲容器的編排調度工具時,如何實現容器與虛機應用的互通?
A:其實業務不宜改變不只僅是技術問題,也和業務廠商是否願意改變有關,畢竟一些遺留的業務已經在現網運行好久了,很難短時間內容器化。另外,咱們確實碰到了須要內核優化的業務。咱們系統中尚未作容器和虛擬機應用互通。
Q:傳統CT網絡不只僅是IMS吧,對於CS、PS,SDN/NFV化,大家有什麼思路嗎?
A:IMS使咱們容器化的第一個嘗試,其餘的網元也正在研究中,後續也會作相關的測試,若是有興趣,也歡迎參加咱們後面的測試。
Q:大家的資源池,有路由器,安全組,負載均衡之類的功能嘛?路由器,負載均衡器能夠被分配公網IP嗎?
A:指的是容器的資源池仍是咱們已有的私有云資源池,已有的私有云資源池是有的,可是容器這個原型系統尚未。
Q:相似Clearwater的開源項目還有哪些?
A:NFV方面的嗎,若是是IMS,Clearwater業界用的比較多,NFV其餘網元開源項目不少。
Q:大家的虛擬機底層使用什麼虛擬化技術支撐?
A:此次演示,底層用的就是Docker,咱們的私有云資源池有VMware、KVM也有Xen。
以上內容根據2016年8月16日晚微信羣分享內容整理。分享人
馬軼慧,中國移動通訊有限公司研究院私有云項目經理,以前曾任VMware研發中心研發工程師。一直關注並致力於虛擬化、容器、雲計算等相關領域。