自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WOT李?。篹leme容器平臺的演進

原創(chuàng)
網(wǎng)絡(luò)
在本次大會上,除了眾星云集的主論壇環(huán)節(jié),12場分論壇更是各具特色,在19日下午的“DevOps”分論壇上,來自餓了么計算力交付部資深工程師李健先生發(fā)表了精彩演講。

【51CTO.com原創(chuàng)稿件】2018年5月18-19日,由51CTO主辦的全球軟件與運維技術(shù)峰會在北京召開。來自全球企業(yè)的技術(shù)精英匯聚北京,暢談軟件技術(shù)前沿,共同探索運維技術(shù)的新邊界。而在本次大會上,除了眾星云集的主論壇環(huán)節(jié),12場分論壇更是各具特色,在19日下午的“微服務(wù)架構(gòu)設(shè)計”分論壇上,來自餓了么計算力交付部資深工程師李健先生發(fā)表了精彩演講。

作為餓了么企業(yè)內(nèi)部多個基于容器的云計算項目的開發(fā)負(fù)責(zé)人,李健擁有多年豐富的容器系統(tǒng)建設(shè)經(jīng)驗,推進了餓了么平臺容器化進程。尤其擅長將容器的敏捷性和標(biāo)準(zhǔn)化進行企業(yè)級落地。為應(yīng)對萬物互聯(lián)時代持續(xù)計算帶來的機遇與挑戰(zhàn),李健致力于打造更加便捷的計算力服務(wù),促進高性能計算、大數(shù)據(jù)和云計算等多元計算模式的深入融合。


餓了么計算力交付部資深工程師李健演講

李健此次的演講主題是“eleme容器平臺”,這個平臺是基于容器的一個管理系統(tǒng),談及管理系統(tǒng),李健認(rèn)為,雖然現(xiàn)在公有云比較多,但大家都要面臨的一個場景就是混合云。他的演講主要分為四個部分,即計算力交付、技術(shù)選型、算力外賣和基于kubernetes的拓展方案。他坦言,最初在業(yè)務(wù)快速增長的過程中,資源規(guī)模增長非常迅速,導(dǎo)致我們服務(wù)器的類型特別多,管理的任務(wù)也很重。因為要適應(yīng)業(yè)務(wù),交付的需求也多種多樣。

一、計算力交付

李健認(rèn)為,計算力交付作為一個抽象的概念,實際上是我們把物理資源抽象出來的一種輸出,是對于開發(fā)人員的一種輸出。餓了么的物理資源,訊息資源量很大,人力有限,我們不可能無限的去擴張,于是我們就想實現(xiàn)一種方式,將它標(biāo)準(zhǔn)化,這樣可以極大的減少成本,也可以更輕松的去管理更多機器?;谝陨?,我們計算交付部門出現(xiàn)了。我們認(rèn)為一切的交付行為都是應(yīng)用,所以餓了么面臨的關(guān)鍵變成了怎么樣去交付這個應(yīng)用,怎么去管理這個應(yīng)用。

    說到這里,就不得不提容器技術(shù)。容器技術(shù)很早就出現(xiàn)了,Docker為容器做了很大的貢獻,它真正面向了應(yīng)用,可以移植,可以跨平臺的特性,特別是它打包方式,使得所有的服務(wù),都變成一種統(tǒng)一的打包方式。這就是應(yīng)用的一個標(biāo)準(zhǔn),在這種標(biāo)準(zhǔn)之上,我們可以把這個應(yīng)用跑在我們想跑的任何一個平臺上。只有這樣的話,我們才有可能進一步的去做到,不論是自動化運維,還是AIOPS或者是大數(shù)據(jù)等等,這些更加的降低人力成本,提高資源使用率的目標(biāo)。

    具體看來,我們會交付三個事情,首先是用戶數(shù),就是你把應(yīng)用交給我,我來幫你部署,讓服務(wù)跑起來。其次是標(biāo)準(zhǔn)服務(wù)的一鍵交付,比如大數(shù)據(jù)需要一套環(huán)境,或者某某部門他需要一套環(huán)境,一套環(huán)境里面他包含了ABC很多服務(wù),這些服務(wù)和其他服務(wù)有隔離性,服務(wù)之間又必須建立起一種聯(lián)系,而且具有可復(fù)制性。第三是服務(wù)器的交付,其實也被劃撥進來。開發(fā)需要一臺服務(wù)器,這個時候我們就很好的可以將計算力作為服務(wù)器的一種交付。

二、技術(shù)選型   

技術(shù)選型現(xiàn)在有很多,kubernetes是比較風(fēng)靡的一種,選擇kubernetes即是建立了標(biāo)準(zhǔn),它帶來的利好就是成本下降。當(dāng)我用跟別人一樣的東西,我成本下降了,解決問題時的優(yōu)勢不言而喻。如果我選熱度很高的項目,這個項目,首先對于我中小公司來說,我遇到問題至少可以在谷歌上,可以查到這個問題,有據(jù)可依。另外還考慮到的一個場景,即你需要的東西和你的選型是否契合,這也是非常值得關(guān)注的問題。此外,擴展性、生態(tài)發(fā)展、大公司的容易建立起生態(tài),亦有前瞻性可循。

三、算力外賣   

談起算力外賣,李健津津樂道。據(jù)他介紹,餓了么做外賣,有好多東西容易要跟吃的結(jié)合起來。例如我們會議室可能叫“榴蓮酥”。算力外賣我們需要的就是一個場景,例如說我們?nèi)ワ埖瓿燥?,這就是一個場景。再比如說一個開發(fā)環(huán)境,在使用完了這套環(huán)境之后就可以銷毀了,或者我可以點一個套餐,點一套“環(huán)境”,好像我們?nèi)ビ喭赓u,購買一個套餐一樣,包含很多內(nèi)容。

    在應(yīng)用層面,李健把它描述得跟我們的胃口很像,包括各種不同類型的服務(wù)。所以會有這樣一個box,box實際上可以把它抽象成一桌飯或者是一個外賣盒。在這里面我們可以看到,我們把每一個服務(wù)相互之間的調(diào)用,都通過domain去調(diào)用。而且這個box它有復(fù)制性,無論從這個模板里面創(chuàng)建出來box有多少,在每個box內(nèi)部調(diào)不同服務(wù)的時候,它的域名是唯一的。

    例如,從第一個服務(wù)調(diào)第二個服務(wù)的時候,第二個服務(wù)的域名是JOB,第一個服務(wù)調(diào)第二個服務(wù)的時候它從B就可以調(diào)用,這樣就減少了開發(fā)人員復(fù)雜度。我們啟用個服務(wù)的時候,自動給它生成唯一網(wǎng)絡(luò)標(biāo)識,可能是IP或者域名。想要更改我的配置,不需要更改它的配置,只需要把這個環(huán)境拉起來,這個應(yīng)用就可以跑起來了。因為我的配置,我所對應(yīng)那些服務(wù),他們的網(wǎng)絡(luò)標(biāo)識是一樣的,他們都是叫X。

四、基于kubernetes的拓展方案   

李健演講的最后一部分是“基于kubernetes的拓展方案”。其具體的實現(xiàn)就是用kubernetes去做底層的容器引擎。在里面可以看到,在一個Internal里面,包括domainl,pod我們可以在這個服務(wù),它有自己的一個副本,做一個副的均衡。這些服務(wù)之間可能有依賴關(guān)系,例如A服務(wù)依賴B服務(wù),如果B服務(wù)宕機,A服務(wù)要做一些處理。A服務(wù)依賴B服務(wù),會有個啟動數(shù),我們在box里面也做了同樣的事情。

    當(dāng)然從技術(shù)發(fā)展來講,很多時候大家認(rèn)為,新技術(shù)里面,不應(yīng)該有依賴關(guān)系。但是我們現(xiàn)在遇到的問題,確實存在依賴。我們的服務(wù)業(yè)務(wù)在這個場景下,要推動標(biāo)準(zhǔn)化就一定要兼容開發(fā)的目前的一些項目或者它的習(xí)慣。

    還有一些服務(wù)啟停,那就是初始化。比如說有些服務(wù)完成之后會調(diào)另外一個pod進行初始化。還有一些公共服務(wù),有些數(shù)據(jù)是需要傳遞的。我們就可以把外面的服務(wù),通過內(nèi)部標(biāo)識轉(zhuǎn)換到外部標(biāo)識,我們內(nèi)部標(biāo)識實際上是永遠是不變的,外面關(guān)系通過服務(wù)發(fā)現(xiàn)或者機制關(guān)聯(lián)上來,這樣就完全的不用考慮配置變更,或者服務(wù)發(fā)現(xiàn)等等問題了。

這個是我們的一個最簡單的通過外賣的方式對我們服務(wù)的一個抽象。當(dāng)然了我們在這個過程當(dāng)中會考慮我們服務(wù)的規(guī)模,規(guī)模擴大后會發(fā)生什么問題。kubernetes依賴etcd,etcd,我們知道它實際上在kubelet場景下,它支持不了那么大規(guī)模,但是我們又對穩(wěn)定性有一些要求。所以我們就只能說把它進行拆分,盡量的進行拆分。

如果我們?nèi)藶榈耐ㄟ^三個或者四個kubelet機群給它拆分了,如果拆得太細,資源利用率就會降低,有些機群可能餓死了,有些機群可能飽死了。我們就是通過一種方式,我們希望說讓這些服務(wù),kubelet是不同的etcd這個機群,有一個方式讓服務(wù)可以在機群之間進行飄移,可以調(diào)度。這樣既解決了資源效率的問題,又解決了可靠性的問題。

從上圖的結(jié)構(gòu)看來,除了黃色的部分,其他部分就是kubelet原先的一些組件。我們開發(fā)了一個類似于kubelet的API Server的服務(wù)。按照我們本來的想法,例如我現(xiàn)在調(diào)度完成之后,分兩級調(diào)度,我們以為把資源調(diào)到A機群還是調(diào)到B機群就可以了,后來發(fā)現(xiàn)實際上很難做到。我們在現(xiàn)在使用的docker上加了一個小版本,小版本主要問題是,日志量很頻繁的時候(毫秒級別)就會亂序,導(dǎo)致業(yè)務(wù)部門排查不下去。因此我們在docker里面增加了一個序號。

     李健坦言,我們企業(yè)的軟件環(huán)境,實際上是自己生長出來的,我們不可能因為一個開源軟件更改現(xiàn)有的內(nèi)容,我們希望通過某種方式讓開源軟件來適應(yīng)現(xiàn)在的軟件狀態(tài)。這就是docker的一些監(jiān)控,例如我們發(fā)現(xiàn)一些問題或者bug,都是通過監(jiān)控來發(fā)現(xiàn)的。

    此外,我們在容器管理當(dāng)中,如果遇到一些問題,比如說將傳統(tǒng)的業(yè)務(wù)進行容器化的時候,我們就進行改進。所有的東西都是在容器里面,internal進程是我們定制的,internal進程是切換技術(shù)層管理的一些目錄和環(huán)境變量,另外一個是基礎(chǔ)配置文件的一個宏代換替換。我們服務(wù)在跑這個的過程當(dāng)中,有些服務(wù)遷移,以前是配置的,現(xiàn)在改成了容器。在環(huán)境變量里面,把這個配置從環(huán)境變量里面讀,可能會產(chǎn)生一些成本。所以我們提供了一種方式,把變量寫在里面,會根據(jù)容器這些環(huán)境變量自動替換這個配置。特別是在容器環(huán)境里面,如果這個容器沒起來之前,不清楚它的IP,問題就必須在internal進程里面去解決。

本次WOT峰會講師演講稿件由51CTO采編整理,如欲了解更多,敬請登錄www.scjtxx.cn進行查看。

 

 

【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】

責(zé)任編輯:劉妮娜 來源: 51CTO
相關(guān)推薦

2018-07-03 09:57:43

容器知乎大數(shù)據(jù)

2017-10-23 09:10:52

2018-09-03 08:36:04

知乎容器大數(shù)據(jù)

2018-08-17 09:14:43

餓了么容器演進

2023-02-01 10:11:06

轉(zhuǎn)轉(zhuǎn)容器日志

2015-12-30 14:29:53

NFV開放平臺

2017-03-20 15:26:12

容器網(wǎng)絡(luò)方案Vlan模式

2018-06-06 10:50:18

容器開源

2016-06-29 10:29:35

2016WOT企業(yè)安全

2014-02-27 14:14:20

第三技術(shù)平臺梭子魚

2023-07-07 19:26:50

自建DTS平臺

2014-05-13 14:11:36

GoRedis

2016-11-26 14:35:49

京東互聯(lián)網(wǎng)

2024-03-29 13:25:12

互動玩法直播

2019-12-20 10:45:47

Kubernetes容器網(wǎng)絡(luò)

2023-08-28 16:10:00

容器化DockerKubernetes

2015-11-29 22:42:36

2015-11-28 21:05:46

李大學(xué)WOT2015互聯(lián)網(wǎng)+

2016-11-07 11:33:02

2018-04-03 12:18:56

餓了么容器云計算
點贊
收藏

51CTO技術(shù)棧公眾號