本文是雲幫系列文章的第三篇,前兩篇分別介紹了雲幫的設計思想和技術架構,您能夠點擊鏈接訪問先前發佈的文檔。網絡
雲幫包含了不少功能組件,本篇文章針對 核心組件 加以介紹。架構
雲幫支持2種類型的自動構建:app
源代碼構建分佈式
Dockerfile構建ide
兩種構建方式分別走2套構建流程,其中Dockerfile的構建流程與Docker官方構建鏡像的步驟一致。這裏再也不贅述,我們重點介紹基於源代碼的自動構建。性能
源代碼構建背後的理論是:代碼即環境 ,什麼類型的代碼從根本上來講已經決定了它的環境,好比說 PHP代碼,已經決定它的環境是WebServer+PHP,而不該該是Python的環境。代碼即環境實際上就是在這個基礎之上在代碼中添加一些環境的標示而已,當源代碼提交到平臺後,平臺的自動構建程序檢測環境描述文件,而後根據需求自動構建環境。ui
應用引擎是好雨自主研發的分佈式,多數據中心的應用管理引擎。其主要功能不只銜接各個功能組件,並且還實現了原生高可用、性能分析、業務監控等諸多業界獨創功能特性。spa
目前咱們爲雲幫設計了2套SDN組件,分別是基於Calico的三層網絡組件和基於OVS本身研發的一套二層網絡組件——GoodNet。他們所實現的目的是同樣的:設計
爲了隔離租戶間的網絡路由
保證同租戶不一樣宿主機之間的網絡能夠互通。
不一樣之處在於網絡組件的應用場景:
Calico 適用於私有云
Goodnet適用於公有云
同一租戶下的容器經過統一的租戶路由器上鍊到Provider Router,經過Provider Router作外網路由集中轉發,而且租戶路由器上是在宿主機上虛擬出一個路由器,同一租戶下的容器互統統過租戶路由器作gre/vxlan封裝和轉發。
雲幫對接私有Git代碼倉庫