1. 程式人生 > >容器化ICT融合初體驗

容器化ICT融合初體驗

【編者的話】本次將分享的容器化ICT融合平臺是一種面向未來ICT系統的新型雲端計算PaaS平臺,它基於容器這一輕量級的虛擬化技術以及自動化的“微服務”管理架構,能夠有效支撐應用快速上線和自動擴縮容,最大化IT基礎設施資源利用率並降低總體擁有成本(TCO)。未來的網路正在向IT化、雲化方向發展,容器與微服務技術,完美契合“網路即服務”、網路切片等發展理念,將有助於實現更加靈活、智慧、高效和開放的5G新型網路。
燈泡.png
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臺伺服器。
小紅.png

軟體

  • 作業系統:Red Hat Enterprise Linux Server release 7.2 (Maipo)
  • 容器引擎:docker-1.8.2-10.el7.x86_64
  • 容器編排:kubenetesv1.1.0-origin-1107-g4c8e6f4

架構.png

Clearwater架構

Clearwater架構主要分為六大元件,Bono、Ralf、Sprout、Homer、Homestead、Ellis,如下圖所示,其中Sprout作為SIP Router,是核心業務處理模組,也是業務量增加時,需要做動態擴容的主要部分。
clearwater.png

NFC測試方案

針對Clearwater中每個元件,定義一個Kubernetes Service,每個服務中包含一個或多個POD,可以通過增加POD個數進行橫向擴充套件。

Kubernetes中服務列表如下圖所示:
service.png

Kubernetes中POD列表如下圖所示。測試過程中,通過基於SIPP的clearwater元件增加併發使用者量,系統壓力增加,觸發sprout服務中POD個數增加。
podslist.png
為實現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資源比例較高。如下圖資源監控介面所示。
監控.png
當CT業務量增加,系統負載增大,為滿足線上CT業務要求,增加CT業務容器數量,同時減少大資料離線業務佔用資源。資源使用情況變化如下圖所示。
監控pods.png

總結

容器作為輕量級的虛擬化技術,可以降低系統開銷,提升系統性能。
  • 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研發中心研發工程師。一直關注並致力於虛擬化、容器、雲端計算等相關領域。