華為基于kubernetes打造云化軟件基礎(chǔ)設(shè)施——FusionStage2.0

內(nèi)容來源:2017年2月25日芽突,華為PaaS性能專家鐘成在“Rancher容器實戰(zhàn)分享季-杭州站之西湖春的喚醒”進(jìn)行《FusionStage2.0—華為云容器實踐》演講分享蘸吓。IT 大咖說(ID:itdakashuo)作為獨家視頻合作方乍惊,經(jīng)主辦方和講者審閱授權(quán)發(fā)布。

閱讀字?jǐn)?shù):3187?| 5分鐘閱讀

獲取嘉賓演講視頻回放及PPT,請點擊:http://t.cn/EPMR9Rl

摘要

介紹華為基于kubernetes打造的云化軟件基礎(chǔ)設(shè)施:FusionStage2.0。包括應(yīng)用開發(fā)流水線框架恕刘,應(yīng)用調(diào)度與資源管理框架,微服務(wù)運行與治理框架這三大組件抒倚,以及在這個過程中研發(fā)的關(guān)鍵技術(shù)與特性褐着,及在CNCF開源社區(qū)的活動。

全面云化的問題和挑戰(zhàn)

挑戰(zhàn)1

大規(guī)模分布式應(yīng)用難以開發(fā)托呕、測試含蓉、運維。

廣義摩爾定律并未失效:單芯片的晶體管集成度放緩项郊,但云計算領(lǐng)域的價格隨著規(guī)模變大馅扣、硬件降價后依然可以維持摩爾定律,企業(yè)和個人使用分布式應(yīng)用的成本降低着降。

大數(shù)據(jù)差油、人工智能類應(yīng)用的興起:傳統(tǒng)商業(yè)應(yīng)用更注重于業(yè)務(wù)處理,而隨著大數(shù)據(jù)和人工智能成為新的商業(yè)競爭力任洞,進(jìn)一步推動分布式應(yīng)用的廣泛使用厌殉。

分布式應(yīng)用的部署運維依然艱難:除了像Google食绿,F(xiàn)acebook這樣的公司,大部分公司還停留在手工運維大量機(jī)器的時代公罕。

挑戰(zhàn)2

臃腫的單體應(yīng)用架構(gòu)無法滿足日趨敏捷和快速的客戶要求。

大代碼基線耀销、錯綜復(fù)雜依賴的單體應(yīng)用架構(gòu)楼眷,導(dǎo)致往往新增一個小特性需要數(shù)月到半年之久。

開發(fā)周期長:龐大代碼基線熊尉,涉及100~200人團(tuán)隊開發(fā)維護(hù)罐柳;組件耦合大、責(zé)任不清楚狰住,牽一發(fā)而動全身张吉。

部署慢、擴(kuò)容慢:部署過程不可重復(fù)催植、出錯率高肮蛹;不支持自動彈性伸縮。

升級難:固定時間窗创南、集中大規(guī)模人力中斷服務(wù)升級伦忠。

挑戰(zhàn)3

煙囪式應(yīng)用系統(tǒng)構(gòu)建,難于共享稿辙,資源利用率低昆码。

靜態(tài)資源分配、分散管理:各分散的業(yè)務(wù)部門通常按照規(guī)劃的最大資源申請物理機(jī)邻储、虛機(jī)資源赋咽,物理資源仍被私有化,無法實現(xiàn)共享吨娜,利用率低脓匿。通常數(shù)據(jù)中心利用率在10% ~ 20%。

應(yīng)用架構(gòu)七國八制:技術(shù)架構(gòu)萌壳、中間件有各業(yè)務(wù)部門(合作ISV)獨立選型亦镶、采購,OS袱瓮、中間件選擇不統(tǒng)一缤骨,類型眾多。

IaaS通過虛擬化的技術(shù)實現(xiàn)物理資源的池化尺借,但往往由于人為靜態(tài)獨占資源绊起,并不能很好的解決共享和資源利用率的問題。

挑戰(zhàn)4

開發(fā)(Dev)與生產(chǎn)運維(Ops)割裂燎斩,無法實現(xiàn)端到端自動化虱歪。

資源獲取和研發(fā)環(huán)境準(zhǔn)備效率低蜂绎,通常需要走冗長的審批流程,缺乏標(biāo)準(zhǔn)化笋鄙、服務(wù)化和自助式IT能力师枣。

部門墻厚導(dǎo)致代碼到業(yè)務(wù)上線周期長:開發(fā)人員不知道最終如何部署、測試人員不清楚測試重點和風(fēng)險點萧落、運維人員不了解架構(gòu)由來和約束等践美。

割裂式的研發(fā)模式無法實現(xiàn)代碼到上線的端到端自動化,業(yè)務(wù)開發(fā)上線周期長找岖,運維效率低陨倡。

當(dāng)前業(yè)界的三個生態(tài)

DockerSwarm

部署容易:內(nèi)置于最流行的DockerEngine內(nèi),部署安裝比較簡單许布,僅需要2個命令兴革。

無中心化設(shè)計:通過Raft協(xié)議形成一個多節(jié)點集群,沒有外置的一致性存儲(etcd, zookeeper)蜜唾,也沒有中心節(jié)點杂曲。

網(wǎng)絡(luò)和抽象支持不足:libnetwork的支持程度不如CNI,僅支持overlay網(wǎng)絡(luò)灵妨,使用概念大多從kubernetes借鑒而來解阅。

Mesos

生態(tài)成熟:支持目前大多數(shù)大數(shù)據(jù)應(yīng)用,Hadoop泌霍,Spark货抄,Storm…

二層調(diào)度:下層調(diào)度框架給上層調(diào)度框架提供粗粒度的資源offer請求,上層使用調(diào)度算法將任務(wù)分配到這些資源上朱转。

使用門檻較高:需要分布式應(yīng)用開發(fā)者有獨立的調(diào)度算法開發(fā)能力蟹地,且使用C++開發(fā),周邊支持較弱藤为。

Kubernetes

抽象概念合理:Pod怪与,Service,ClusterIP缅疟,Label分别,ReplicaSet,StatefulSet…

和具體容器實現(xiàn)解耦:支持docker/rkt等存淫,僅把容器當(dāng)成一種特殊的運行時耘斩。

和I層對接還有待完善:組件較多,在多種公有云上部署還需要獨立的集群管理組件桅咆,存儲括授、網(wǎng)絡(luò)均依賴于I層。

FusionStage2.0介紹

傳統(tǒng)IT全面云化轉(zhuǎn)型的三階段漸進(jìn)式演進(jìn)建議

從大企業(yè)IT轉(zhuǎn)型實踐看,傳統(tǒng)企業(yè)應(yīng)用架構(gòu)發(fā)展需要經(jīng)歷三個階段荚虚。

虛擬化:大團(tuán)隊開發(fā)周期長薛夜、手工式運維、利用率低10~20%版述。

自動化:具備部分DevOps能力梯澜,自動部署與伸縮、提升利用率50%渴析。

AllCloud:兼容微服務(wù)和傳統(tǒng)服務(wù)并存腊徙,全自動化運維、線性無極伸縮檬某,利用率70%。

PaaS平臺是企業(yè)IT云化轉(zhuǎn)型三階段演進(jìn)的核心平臺螟蝙。PaaS核心是封裝應(yīng)用系統(tǒng)云化恢恼、微服務(wù)化的分布式復(fù)雜性。三個階段是需求驅(qū)動的胰默,各個應(yīng)用可以根據(jù)自己的需求選擇场斑。

Fusion Stage平臺功能定義

微服務(wù)治理框架:為應(yīng)用提供自動注冊、發(fā)現(xiàn)牵署、治理漏隐、隔離、調(diào)用分析等一系列分布式/微服務(wù)治理能力奴迅,屏蔽分布式系統(tǒng)的復(fù)雜度青责。

應(yīng)用調(diào)度與資源管理框架:打通從應(yīng)用建模、編排部署到資源調(diào)度取具、彈性伸縮脖隶、監(jiān)控自愈的生命周期管理自動化。

應(yīng)用開發(fā)流水線框架:打通從編寫代碼提交到自動編譯打包暇检、持續(xù)集成产阱、自動部署上線的一系列CI/CD全流程自動化。

云中間件服務(wù):應(yīng)用云化所需的數(shù)據(jù)庫块仆、大數(shù)據(jù)构蹬、通信和應(yīng)用中間件服務(wù);通過服務(wù)集成管控可集成傳統(tǒng)非云化的中間件能力悔据。

一庄敛、應(yīng)用調(diào)度與資源管理框架

以應(yīng)用為中心進(jìn)行統(tǒng)一資源管理和調(diào)度,易于管理蜜暑。

混合編排:擴(kuò)展Kubernetes的Pod定義铐姚,用于部署進(jìn)程類應(yīng)用。

統(tǒng)一資源管理:支持對接主流異構(gòu)I層(OpenStack, Vmware…)。

關(guān)鍵特性:跨DC/Region/AZ的部署和管理隐绵。

跨域集中部署:RDC之众、DC、AZ依许、集群等層次化部署棺禾。

應(yīng)用建模設(shè)計器:免除腳本編寫部署描述文件,支持靈活的部署策略峭跳。

感知應(yīng)用的部署算法:親和性——就近部署膘婶,就近路由,減少網(wǎng)絡(luò)消耗蛀醉;反親和性——高可靠性考慮悬襟,減少宕機(jī)影響,避免干擾拯刁。

關(guān)鍵特性:通過聯(lián)邦技術(shù)實現(xiàn)應(yīng)用多集群資源共享脊岳。

按集群特性調(diào)度:某些應(yīng)用只支持部署到特定集群上,例如特定的region垛玻,特定的服務(wù)提供商等割捅。

集群間應(yīng)用自動遷移:在某個集群容量溢出,或故障時帚桩,應(yīng)用能夠自動在不同集群間遷移亿驾。

跨云管理:能夠?qū)⒇?fù)載部署在不同的云提供商,并能夠很容易的在不同的云提供商之間自動的增加账嚎,減少業(yè)務(wù)量莫瞬,自動遷移。

擴(kuò)展集群規(guī)模:百級集群醉锄,千級主機(jī)乏悄,萬級容器。

二恳不、微服務(wù)運行與治理框架

多語言:支持多語言的原生接口檩小。

可擴(kuò)展:提供可擴(kuò)展框架,支持不斷擴(kuò)展微服務(wù)的高級能力烟勋。

高性能:鏈路復(fù)用规求、按需建鏈等技術(shù)實現(xiàn)高性能服務(wù)通信。

高可靠:采用可隔離倉卵惦、熔斷機(jī)制等技術(shù)阻肿,保障用戶應(yīng)用的高可靠性。

可監(jiān)控:采用跟蹤鏈分析沮尿,可監(jiān)控端到端服務(wù)調(diào)用鏈丛塌、各服務(wù)的調(diào)用頻率较解、時延等各項指標(biāo)。

關(guān)鍵特性:開放微服務(wù)治理架構(gòu)赴邻,支持多語言印衔、多技術(shù)堆棧微服務(wù)互通。

統(tǒng)一微服務(wù)治理標(biāo)準(zhǔn):通過服務(wù)治理客戶端姥敛,處理微服務(wù)與服務(wù)治理中心的交互奸焙。

插件式多協(xié)議自動轉(zhuǎn)換:提供協(xié)議插件框架,支持協(xié)議插件熱拔插彤敛,通過協(xié)議插件與不同通信協(xié)議對接与帆。

跨技術(shù)堆棧互通:使用RESTFul墨榄,自定義高效RPC等多種協(xié)議玄糟,保證高效的跨語言微服務(wù)通信的能力。

關(guān)鍵特性:海量微服務(wù)調(diào)用鏈跟蹤和監(jiān)控袄秩,支持與客戶現(xiàn)有監(jiān)控系統(tǒng)進(jìn)行對接茶凳。

支持平臺、資源播揪、應(yīng)用的監(jiān)控和微服務(wù)調(diào)用鏈分析。

大規(guī)模:支持百萬容器監(jiān)控筒狠,秒級查詢響應(yīng)猪狈。

兼容集成:和企業(yè)現(xiàn)有監(jiān)控系統(tǒng)的對接,保證運維人員的體驗辩恼。

高可用:調(diào)用鏈跟蹤與協(xié)議無關(guān)雇庙,非侵入,低損耗灶伊。

關(guān)鍵特性:中間件服務(wù)的統(tǒng)一接入與管控疆前。

集中管理所有服務(wù),統(tǒng)一的服務(wù)模式聘萨;

應(yīng)用透明服務(wù)模式竹椒,應(yīng)用開發(fā)不需要修改;

支持第三方服務(wù)接入米辐,可以擴(kuò)展企業(yè)既有中間件胸完;

提供標(biāo)準(zhǔn)化的中間件服務(wù)的接入和管理的能力。包括部署和伸縮管理翘贮,實例監(jiān)控赊窥,計量等功能。

三狸页、高性能锨能、靈活定制的應(yīng)用開發(fā)流水線框架

挑戰(zhàn)和訴求:

軟件環(huán)境供給慢:開發(fā)環(huán)境分散管理,開發(fā)環(huán)境配置發(fā)放慢(~1周)。

環(huán)境不一致出錯率高:整個開發(fā)環(huán)境由不同部門人員運維址遇,開發(fā)人員自行部署熄阻、配置中間件、依賴包等傲隶,出錯率高饺律。

保持現(xiàn)有使用習(xí)慣:已經(jīng)在現(xiàn)網(wǎng)使用的工具鏈如何保留。

關(guān)鍵技術(shù):

可定制化流水線:流水線流程可按客戶的組織定義進(jìn)行定制跺株。通過自定義流水將所有步驟串聯(lián)复濒,實現(xiàn)全流程自動化。

客戶工具插件式接入:客戶現(xiàn)網(wǎng)使用的工具可以通過插件的方式接入乒省。

ELB服務(wù):高可靠巧颈、高性能彈性負(fù)載均衡

華為內(nèi)部廣泛使用,雙11搶購考驗袖扛,保障高性能高可靠砸泛;

提供跨AZ的負(fù)載分發(fā)能力,提高可靠性和運維便利性蛆封;

提供自動彈性擴(kuò)展能力唇礁,可以按流量自動調(diào)整規(guī)格;

部署支持線性可擴(kuò)展惨篱,無單點故障盏筐;

提供私網(wǎng)和公網(wǎng)兩種類型;

支持L4和L7負(fù)載均衡砸讳;

支持Https協(xié)議和證書管理琢融;

DCS服務(wù):高速分布式緩存DCS

使用特點:高性能讀寫(百萬級并發(fā)),數(shù)據(jù)量G級別簿寂,多種數(shù)據(jù)類型漾抬,需要持久化。

解決問題:提高數(shù)據(jù)查詢和讀寫效率常遂,減輕管理維護(hù)工作量纳令,降低數(shù)據(jù)庫存儲成本。

DMS服務(wù):高可用克胳、分布式消息中間件服務(wù)DMS

提供WEB Console管理消息隊列泊碑;

提供消息API?使用消息隊列;

支持消息隊列的創(chuàng)建毯欣、查看馒过、刪除坝茎;

支持消息隊列的消息發(fā)送和消息消費缨该;

支持多個消費組同時對一個消息隊列的消息進(jìn)行消費;

支持消息API訪問的安全認(rèn)證没隘;

支持消息隊列的使用統(tǒng)計監(jiān)控。

今天的分享就到這里窘奏,謝謝大家嘹锁!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市着裹,隨后出現(xiàn)的幾起案子领猾,更是在濱河造成了極大的恐慌,老刑警劉巖骇扇,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件摔竿,死亡現(xiàn)場離奇詭異,居然都是意外死亡少孝,警方通過查閱死者的電腦和手機(jī)继低,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稍走,“玉大人袁翁,你說我怎么就攤上這事⌒隽常” “怎么了粱胜?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長狐树。 經(jīng)常有香客問我年柠,道長,這世上最難降的妖魔是什么褪迟? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮答憔,結(jié)果婚禮上味赃,老公的妹妹穿的比我還像新娘。我一直安慰自己虐拓,他們只是感情好心俗,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蓉驹,像睡著了一般城榛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狠持,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天瞻润,我揣著相機(jī)與錄音甜刻,去河邊找鬼。 笑死正勒,一個胖子當(dāng)著我的面吹牛得院,可吹牛的內(nèi)容都是我干的章贞。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼鸭限,長吁一口氣:“原來是場噩夢啊……” “哼蜕径!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起里覆,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喧枷,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體车荔,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡戚扳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了珠增。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砍艾。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凝垛,靈堂內(nèi)的尸體忽然破棺而出蜓谋,到底是詐尸還是另有隱情梦皮,我是刑警寧澤桃焕,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布观堂,位于F島的核電站岖妄,受9級特大地震影響寂祥,放射性物質(zhì)發(fā)生泄漏荐虐。R本人自食惡果不足惜丸凭,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一惜犀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虽界,春花似錦、人聲如沸莉御。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽琅关。三九已至,卻和暖如春涣易,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背步氏。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工账劲, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留金抡,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓榛瓮,卻偏偏與公主長得像巫击,于是被迫代替她去往敵國和親精续。 傳聞我的和親對象是個殘疾皇子粹懒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容