雲幫是按照面向服務的架構來設計的。目前大多數集羣組件都是經過容器鏡像的形式發佈和運行的。後續咱們會將全部的組件都容器化,經過Kubernetes集羣保障組件的高可用。web
Kubernetes負責容器的編排和調度,它的全部行爲都是由應用引擎發起的。應用引擎將容器相關的操做都進行了封裝,雲幫經過抽象出了一個應用的概念來屏蔽底層全部與技術(容器、調度、網絡……)相關的概念。用戶經過對應用進行屬性和行爲的設置來操做應用,經過應用與應用直接的依賴關係來進行微服務架構的設計。segmentfault
雲幫全部的對外服務都配置在負載均衡上,平臺使用者、最終用戶、開發者都是經過負載均衡轉發到對應的應用與服務:後端
開發者除了能夠經過Web控制檯管理應用,還能夠經過平臺API來完成全部Web控制檯的操做。詳情參見:雲幫API手冊網絡
運維人員能夠在系統層面維護平臺服務,也能夠經過雲幫的管理後臺來管理計算資源,維護平臺服務。
架構
用戶能夠訪問到的應用都是配置在路由層服務中,它主要由負載均衡組成,經過路由規則分離不一樣的應用與訪問域名。控制層的服務根據容器的服務狀態維護負載均衡中的節點。負載均衡
控制層服務是平臺最核心的功能模塊,其內部包含了多個子模塊:運維
應用管理平臺:一般也稱之爲控制檯,是用戶操做和管理應用的web端程序。分佈式
應用中心:雲幫內部的應用市場,包含了經常使用的應用,固然用 戶也能夠在雲市安裝更多的應用。微服務
自動構建:基於源代碼和Dockerfile的自動構建模塊。spa
應用引擎:雲幫核心子模塊,負責將各類容器操做命令發送到後端服務,同時也將應用、容器狀態保存到後端的etcd服務中。
Git倉庫:選裝模塊,能夠使用外部或內部的Git服務
計算層負責容器的運行、監控以及收集彙總容器中的日誌。容器的啓動與關閉由控制層發起,容器運行後會將狀態註冊到路由層。
後端服務雲幫集羣的核心服務,包括Kubernetes、etcd、數據存儲、日誌處理、監控等。
負載均衡
負載均衡組件一般部署在計算節點上,推薦至少使用3個計算節點做爲負載均衡的最小集羣規模。
計算節點
計算節點是實際跑容器的主機,每個團隊帳號(租戶)的容器能夠跨主機運行,團隊帳號中能夠有多個應用,每一個應用由1~n個容器組成,應用的多個容器運行在不一樣的主機中。
管理節點
雲幫集羣的管理服務都運行在管理節點的機器中,包括自動構建服務、容器調度、SDN網絡管理、應用引擎、日誌彙總與實時處理等等……
分佈式存儲
存放應用持久化數據以及自動化構建所須要的公共文件。
下期對雲幫的核心組件進行詳細的介紹。