1. 程式人生 > >基於Docker的CaaS容器雲平臺架構設計

基於Docker的CaaS容器雲平臺架構設計

前言

在移動網際網路時代,企業需要尋找新的軟體交付流程和IT架構,從而實現架構平臺化,交付持續化,業務服務化。容器將成為新一代應用的標準交付件,容器雲將幫助企業使用者構建研發流程和雲平臺基礎設施,縮短應用向雲端交付的週期,降低運營門檻。加速企業向網際網路技術和業務的雙轉型。“容器時代”的到來無疑為整個IT界帶來了福音,今天我們就跟大家一起看看它的新寵——CaaS容器雲。

概述

在開始講述它的架構之前我們先看看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服務管理。

注:本文資料來源於網路,由雲舒網路整理髮布。

更多容器相關資料查閱

部落格期刊:

網頁下載:

百度雲盤下載:

溫馨提示:

雲舒網路 點選開啟連結 攜手Rancher Labs推出【Rancher | 實戰微信群】,線上為您分享Docker技術乾貨,更有往期回顧精選期刊等你拿!

本群彙集了Rancher中國最強技術精英團隊及業內技術派高人,宗旨是為了大家擁有更專業的平臺交流Rancher實戰技術,實時與Rancher創始團隊面對面!同時歡迎各位分享自己的經驗、疑難問題,我們將定期邀請分享嘉賓做各類話題分享及回顧,共同實踐研究Docker容器生態圈。

對Rancher和Docker技術感興趣、或對本文中細節需繼續探討的朋友,歡迎加入本群參與討論! 

加微信群方法

  1.關注【雲舒網路】公眾號

  2.留言”我要加群” 

QQ群號:216521218