基于Docker的CaaS容器云平臺架構設計
前言
在移動互聯網時代,企業需要尋找新的軟件交付流程和IT架構,從而實現架構平臺化,交付持續化,業務服務化。容器將成為新一代應用的標準交付件,容器云將幫助企業用戶構建研發流程和云平臺基礎設施,縮短應用向云端交付的周期,降低運營門檻。加速企業向互聯網技術和業務的雙轉型。“容器時代”的到來無疑為整個IT界帶來了福音,今天我們就跟大家一起看看它的新寵——CaaS容器云。
本文來源:http://www.cloudsoar.com/about/BlogNews/content/0/143/v1.1/
概述
在開始講述它的架構之前我們先看看IaaS、PaaS、SaaS與CaaS的區別和聯系:

關于IaaS、PaaS、SaaS有很多文章已經有了詳解,這里不再贅述。我們重點來看看CaaS:
CaaS(容器即服務)——相對于IaaS和PaaS服務,CaaS對底層的支持比PaaS更靈活,而對上層應用的操控又比IaaS更容易。CaaS是以容器為核心的,它介于IaaS和PaaS之間,起到了屏蔽底層系統IaaS,支撐并豐富上層應用平臺PaaS的作用。將底層的IaaS封裝成一個大的資源池,我們只要把自己的應用部署到這個資源池中,不再需要關心資源的申請、管理,以及與業務開發無關的事情。
CaaS云平臺技術架構
技術關鍵字解析
集群框架——容器集群管理及編排系統。
代碼持續集成——完全自動化的代碼管理,包括源代碼存儲、編譯、連接、測試、發布整個創建過程都應該自動完成。
多租戶管理——實現多用戶的環境下共用相同的系統或程序組件,并且仍可確保各用戶間資源的隔離性。
跨主機集群——可以將本地云平臺內部容器資源,平臺外部的客戶自有容器資源,及各種第三方公有云容器資源結合到一起形成混合容器云資源模式。
鏡像倉庫——提供本地公有/私有鏡像倉庫,提供第三方鏡像倉庫或DockerHub鏡像資源集成。
應用編排服務——使容器之間能夠通信、彼此可以傳遞運行期,同時管理多個容器的行為。當容器集群共同構建應用架構時,需要考慮集群環境中的容器,哪些端口需要暴露、哪些卷需要掛載等信息。
專屬主機——即從本地云平臺中提供給用戶的專屬虛擬主機環境用于構建容器集群應用。
APaaS服務——基于PaaS之上的公有中間層SDK開發組件或API調用接口,及公有APaaS服務平臺。例:用戶統一身份認證組件,APP的消息推送組件,公有消息隊列平臺等。
容器管控——對容器進行CPU/內存資源配置,SSH或控制臺容器接入,網絡配置,環境變量設置,數據卷掛接,資源監控,日志管控,事件記錄,二級域名或自有域名分配等功能。
數據卷或云盤——基于云平臺的數據存儲工具。主要用于容器間數據共享,或某容器的外接數據卷進行數據持久化存儲。
CaaS云平臺功能模塊

詳解
本地鏡像倉庫——創建本地鏡像倉庫,為平臺提供自有鏡像資源支持。內容包括本地鏡像倉庫搭建,本地鏡像文件基礎管理(版本,描述,指南,后期制作/調試),DockerHub或第三方鏡像倉庫掛接。
容器基礎功能——容器是平臺中最小計算單元,針對容器的基礎管理功能。包括鏡像/容器配置,容器生命期管理(啟動,停止,刪除),容器資源配置(CPU,內存,磁盤),容器參數設置(執行命令,接入點),端口映射配置(直聯端口,內聯方式,負載均衡端口),環境變量設置,容器信息顯示,容器日志管理,容器資源監控(CPU,內存,帶寬)等。
容器服務管理——容器服務是指通過啟動基于一個鏡像文件的多個容器共同完成某應用的負載均衡功能,比如啟動多個Tomcat容器做某Web應用的服務端負載均衡場景。又分為服務分類管理(應用,數據,工具,磁盤),服務生命期管理(啟動,停止,刪除),多容器彈性伸縮配置(自動,手動CPU/內存閾值),多容器負載均衡,服務間鏈接管理,服務日志管理。
容器應用管理——容器應用是由多個容器服務共同完成用戶業務目標的架構。比如某業務架構的容器應用為(Ngnix服務+Tomcat服務+MySql服務+數據卷服務。涵蓋了應用生命期管理(啟動,停止,刪除),應用編排,應用基本信息管理,應用域名管理(二級域名,自有域名),應用資源監控(CPU,內存,帶寬),應用事件描述。
主機集群管理(域管理)——主機域包括本地平臺主機集群環境,第三方公有云主機集群接入,用戶私有主機接入等。分為主機生命期管理(接入,退出),第三方公有云主機管理,域資源監控(CPU,內存,帶寬)。
數據卷管理——數據卷是在宿主機上存在的特殊用途目錄,為了完成某些容器數據持久化,榮期間數據共享等功能,還可以作為用戶云盤使用。有數據卷生命期管理(創建,配置,刪除)和數據卷信息顯示兩類。
租戶管理——接入平臺的用戶個人屬性管理。包含賬戶及套餐管理,個人信息管理。
用戶域及Dashboard功能——本平臺內全部資源共同集合成公有域,而在本平臺內的租戶只能管控自己私有域中的資源,所以要對平臺進行邏輯分層,至少分為公有域和用戶私有域兩層。而對層級的劃分后,會涉及到以上各功能點的用戶私有域表現。
持續集成——為了實現代碼持續集成的能力,需要掛接公共代碼倉庫(GITHub,GITCafe)、公共代碼庫API接口調用(用戶身份認證/授權,項目/代碼接入,持續集成事件回調)等。
APaaS服務工廠管理——APP消息推送服務,用戶統一認證服務,公共消息平臺,健康監控平臺等APaaS服務管理。
注:本文資料來源于網絡,由云舒網絡整理發布。
更多容器相關資料查閱
博客期刊:
http://www.cloudsoar.com/about/newsBlog/1/v1.1/
網頁下載:
http://www.cloudsoar.com/down/ddoc/v1.1/
百度云盤下載:
http://pan.baidu.com/s/1jHfP9Dc
溫馨提示:
云舒網絡 http://www.cloudsoar.com 攜手Rancher Labs推出【Rancher | 實戰微信群】,在線為您分享Docker技術干貨,更有往期回顧精選期刊等你拿!
本群匯集了Rancher中國最強技術精英團隊及業內技術派高人,宗旨是為了大家擁有更專業的平臺交流Rancher實戰技術,實時與Rancher創始團隊面對面!同時歡迎各位分享自己的經驗、疑難問題,我們將定期邀請分享嘉賓做各類話題分享及回顧,共同實踐研究Docker容器生態圈。
對Rancher和Docker技術感興趣、或對本文中細節需繼續探討的朋友,歡迎加入本群參與討論!
加微信群方法:
1.關注【云舒網絡】公眾號
2.留言”我要加群”
QQ群號:216521218
