雲幫系列文章:技術架構說明

架構

雲幫是按照面向服務的架構來設計的。目前大多數集羣組件都是經過容器鏡像的形式發佈和運行的。後續咱們會將全部的組件都容器化,經過Kubernetes集羣保障組件的高可用。web

概述

arc-overview.png

Kubernetes負責容器的編排和調度,它的全部行爲都是由應用引擎發起的。應用引擎將容器相關的操做都進行了封裝,雲幫經過抽象出了一個應用的概念來屏蔽底層全部與技術(容器、調度、網絡……)相關的概念。用戶經過對應用進行屬性和行爲的設置來操做應用,經過應用與應用直接的依賴關係來進行微服務架構的設計。segmentfault

技術架構

technology-architecture.png

  • 雲幫全部的對外服務都配置在負載均衡上,平臺使用者、最終用戶、開發者都是經過負載均衡轉發到對應的應用與服務:後端

  • 開發者除了能夠經過Web控制檯管理應用,還能夠經過平臺API來完成全部Web控制檯的操做。詳情參見:雲幫API手冊網絡

  • 運維人員能夠在系統層面維護平臺服務,也能夠經過雲幫的管理後臺來管理計算資源,維護平臺服務。
    架構


路由層

用戶能夠訪問到的應用都是配置在路由層服務中,它主要由負載均衡組成,經過路由規則分離不一樣的應用與訪問域名。控制層的服務根據容器的服務狀態維護負載均衡中的節點。負載均衡

router.png


控制層

控制層服務是平臺最核心的功能模塊,其內部包含了多個子模塊:運維

  • 應用管理平臺:一般也稱之爲控制檯,是用戶操做和管理應用的web端程序。分佈式

  • 應用中心:雲幫內部的應用市場,包含了經常使用的應用,固然用 戶也能夠在雲市安裝更多的應用。微服務

  • 自動構建:基於源代碼和Dockerfile的自動構建模塊。spa

  • 應用引擎:雲幫核心子模塊,負責將各類容器操做命令發送到後端服務,同時也將應用、容器狀態保存到後端的etcd服務中。

  • Git倉庫:選裝模塊,能夠使用外部或內部的Git服務

controler.png


計算層

計算層負責容器的運行、監控以及收集彙總容器中的日誌。容器的啓動與關閉由控制層發起,容器運行後會將狀態註冊到路由層。

compute.png


後端服務

後端服務雲幫集羣的核心服務,包括Kubernetes、etcd、數據存儲、日誌處理、監控等。

backend.png

部署結構

deployment-architectures.png

  • 負載均衡

負載均衡組件一般部署在計算節點上,推薦至少使用3個計算節點做爲負載均衡的最小集羣規模。

  • 計算節點

計算節點是實際跑容器的主機,每個團隊帳號(租戶)的容器能夠跨主機運行,團隊帳號中能夠有多個應用,每一個應用由1~n個容器組成,應用的多個容器運行在不一樣的主機中。

  • 管理節點

雲幫集羣的管理服務都運行在管理節點的機器中,包括自動構建服務、容器調度、SDN網絡管理、應用引擎、日誌彙總與實時處理等等……

  • 分佈式存儲

存放應用持久化數據以及自動化構建所須要的公共文件。

下期預告

下期對雲幫的核心組件進行詳細的介紹。

相關文章
相關標籤/搜索