国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

優(yōu)刻得Serverless容器實(shí)例Cube的研發(fā)實(shí)踐之路

發(fā)布時(shí)間:2022-05-26 12:31 來(lái)源:老劉博客 閱讀:80 作者:網(wǎng)絡(luò ) 欄目: 經(jīng)驗分享 歡迎投稿:712375056

本文目錄 顯示

老劉博客針對UCloud優(yōu)刻得Serverless容器實(shí)例Cube有過(guò)多次介紹,如文章《UCloud優(yōu)刻得Serverless容器服務(wù)產(chǎn)品Cube免費公測》,《還在用主機建站?容器Cube三步搭建WordPress站點(diǎn)》,《優(yōu)刻得docker容器化產(chǎn)品Cube快速上手使用教程》和《優(yōu)刻得推出Serverless容器實(shí)例Cube快杰版,計算性能提升16%》,那么Cube產(chǎn)品團隊又經(jīng)歷了怎樣的研發(fā)歷程呢?本文老劉帶大家看看UCloud優(yōu)刻得Serverless容器實(shí)例Cube的研發(fā)實(shí)踐之路。

Cube誕生背景

隨著(zhù)云原生技術(shù)的推廣及落地,容器技術(shù)在企業(yè)生產(chǎn)環(huán)境中的使用比重越來(lái)越大。Kubernetes作為容器編排的事實(shí)標準,在企業(yè)服務(wù)中被大量采用。UCloud容器團隊在2018年推出了Kubernetes產(chǎn)品UK8S, 這款產(chǎn)品基于UCloud公有云環(huán)境實(shí)現,無(wú)縫集成了UCloud IaaS層計算、網(wǎng)絡(luò )及存儲的服務(wù),使客戶(hù)能夠快速獲取到生產(chǎn)可用的Kubernetes集群,并擁有靈活控制集群的能力。

但在UK8S產(chǎn)品推廣及接入客戶(hù)過(guò)程中,容器團隊也陸續收到一些用戶(hù)反饋的問(wèn)題:

  • 維護Kubernetes集群增加了額外的負擔;用戶(hù)除了管應用還需要后端資源,并未能實(shí)現以應用為中心的業(yè)務(wù)管理。
  • Kubernetes體系較為復雜,學(xué)習曲線(xiàn)比較陡峭,需要客戶(hù)團隊有一定技術(shù)儲備;對于已經(jīng)使用了容器但尚未嘗試Kubernetes的客戶(hù)也是如此,一方面需要了解Kubernetes的技術(shù)體系,另一方面需要修改應用架構適配Kubernetes。
  • 希望能有一款即開(kāi)即用的容器產(chǎn)品,通過(guò)容器直接拉起應用,不需要等待虛擬機就緒再部署應用,縮短應用就緒等待時(shí)間。

為解決上述用戶(hù)問(wèn)題,容器團隊開(kāi)發(fā)了一款新的serverless容器產(chǎn)品Cube,目前正處在公測階段。除了降低用戶(hù)使用容器的門(mén)檻,該產(chǎn)品還具有以下特性:

1. 免運維:沒(méi)有維護資源負擔,不需要關(guān)心運行位置,以應用為中心,以容器鏡像為應用打包標準。

2. 按需付費:按照應用實(shí)際使用資源付費。

3. 自動(dòng)擴縮容:基于海量資源,提供API,可按需拉起和關(guān)閉應用,自動(dòng)調度資源。

4. 高可用:產(chǎn)品本身高可用,同時(shí)提供應用自愈能力。

技術(shù)選型

在實(shí)現Cube產(chǎn)品特性的過(guò)程中,容器團隊需要解決幾個(gè)技術(shù)問(wèn)題:

容器運行時(shí)的選型

公有云產(chǎn)品必然要考慮多租戶(hù)隔離問(wèn)題。不同于UK8S產(chǎn)品以云主機為基礎構建的隔離性,Cube產(chǎn)品則直接在宿主物理機上運行容器。標準docker實(shí)現的容器并不能實(shí)現同臺宿主機上不同用戶(hù)不同容器之間的強隔離,因此Cube產(chǎn)品需要一款同時(shí)具備虛擬機強隔離性和容器快速啟動(dòng)特點(diǎn)的容器運行時(shí)方案。

容器團隊注意到AWS開(kāi)源了輕量級虛擬機firecracker,具有資源占用少、啟動(dòng)速度快、易于維護等諸多優(yōu)點(diǎn),并已用于實(shí)際生產(chǎn)環(huán)境,非常符合Cube業(yè)務(wù)場(chǎng)景,因此最終采用了以firecracker輕量級虛擬機為基礎的容器運行時(shí)方案。從下面兩張圖可以看出,通過(guò)對云計算場(chǎng)景特別的精簡(jiǎn)和優(yōu)化,firecracker相對于目前主流的虛擬化組件qemu在啟動(dòng)速度和內存消耗方面有明顯的優(yōu)勢。

VMM啟動(dòng)時(shí)間和內存占用對比

容器管理服務(wù)

支持虛擬機容器運行時(shí)的容器管理服務(wù)也有多種開(kāi)源方案,例如containerd/cri-o,kata-container和firecracker-containerd等。經(jīng)過(guò)比較,容器團隊選擇了cri-o firecracker-containerd的組合。這二者在功能上能夠滿(mǎn)足單機容器管理的需求,而且和其他選型相比,代碼架構更加清晰,調用鏈路簡(jiǎn)單明了,便于后續根據產(chǎn)品需求定制和改造。

容器調度服務(wù)

Kubernetes已經(jīng)成為了容器調度的事實(shí)標準,具備豐富的功能和良好的可擴展性。因此容器團隊采用Kubernetes作為基本調度框架,并根據產(chǎn)品需求做相關(guān)改造,最終基本的服務(wù)架構如下所示:

優(yōu)化改進(jìn)

雖然采用開(kāi)源方案可以加快開(kāi)發(fā)進(jìn)度,但為滿(mǎn)足產(chǎn)品需求仍需解決一些問(wèn)題,主要包括以下幾個(gè)方面:

容器鏡像

在標準的容器鏡像實(shí)現中,鏡像是通過(guò)分層結構存儲在宿主上的。當創(chuàng )建容器時(shí),容器運行時(shí)會(huì )在鏡像層之上創(chuàng )建一個(gè)可寫(xiě)層,并掛載在宿主上供容器實(shí)例使用。但Cube容器并不是直接在宿主上運行的,也不需要在宿主上掛載容器根目錄。因此容器團隊修改了cri-o中鏡像層的相關(guān)實(shí)現,直接將容器可寫(xiě)層以塊設備的方式掛載到輕量級虛擬機中而非宿主上,減低了宿主對Cube容器的干擾。

另外,為了解決新鏡像拉取緩慢導致的容器實(shí)例啟動(dòng)慢的問(wèn)題,容器團隊提出了鏡像遠程掛載的解決方案。將容器鏡像以塊設備的形式存儲在緩存集群,當需要在此鏡像上生成容器實(shí)例時(shí),先將容器鏡像通過(guò)遠程掛載的形式掛載到宿主上,然后容器運行時(shí)會(huì )在宿主上創(chuàng )建一層可寫(xiě)層生成容器實(shí)例。同時(shí)后臺會(huì )將遠程鏡像同步到宿主本地,進(jìn)一步加速讀取,降低集群風(fēng)險。上述方法可使宿主上首次獲取鏡像的時(shí)間縮短至3s以下,并有進(jìn)一步優(yōu)化空間。目前這一功能以鏡像緩存的產(chǎn)品形式提供給用戶(hù)使用,并正在逐步整合到普通鏡像拉取過(guò)程中。

使用公有云資源

網(wǎng)絡(luò )方面,Cube容器的網(wǎng)絡(luò )模型和云主機的基本相同。在將相關(guān)網(wǎng)絡(luò )功能以cni插件的形式實(shí)現之后,Cube容器就可以很好的接入到公有云vpc網(wǎng)絡(luò )中。

存儲方面,Cube容器目前支持了兩種類(lèi)型的存儲:可以多點(diǎn)讀寫(xiě)的網(wǎng)絡(luò )文件系統nfs和僅單點(diǎn)讀寫(xiě)的云硬盤(pán)udisk。在文件存儲功能上,Cube產(chǎn)品實(shí)現了在輕量級虛擬機中自動(dòng)掛載nfs的功能,用戶(hù)只需在配置文件中指定好掛載點(diǎn)和掛載參數,就能直接在容器中使用網(wǎng)絡(luò )文件系統,并可以同時(shí)支持vpc網(wǎng)絡(luò )內用戶(hù)自建的nfs和UCloud公有云產(chǎn)品ufs。在塊設備功能上,容器團隊擴展了firecracker塊設備的實(shí)現。通過(guò)添加對vhost-user協(xié)議的支持,Cube輕量級虛擬機可以直接對接到spdk服務(wù),從而實(shí)現了對高性能的rssd型云硬盤(pán)掛載和使用。

容器運行環(huán)境

為了減少額外資源消耗,容器團隊在容器管理服務(wù)和容器運行時(shí)上做了大量?jì)?yōu)化工作。

容器團隊修改了cri-o管理容器組的架構,采用了單pod對應單shim的模型。通過(guò)一個(gè)shim管理一個(gè)pod內全部容器,可以顯著(zhù)的降低shim資源消耗,簡(jiǎn)化容器管理。對于輕量級虛擬機,容器團隊也對kernel/rootfs/init進(jìn)程等做了充分地精簡(jiǎn)優(yōu)化,只保留了最基本的功能,以加快啟動(dòng)速度,減小安全攻擊面,降低資源消耗。另外,容器團隊還在輕量級虛擬機中內置了infra container的實(shí)現,Cube作為pod運行時(shí)可以不必掛載額外的infra容器。

k8s改造

Kubernetes作為一個(gè)通用的容器調度框架,能夠滿(mǎn)足大部分容器管理的需求。但針對Cube特定的使用場(chǎng)景,容器團隊仍需對k8s組件做一些改造。在控制面,容器團隊采用了自定義的調度器,可以更好的滿(mǎn)足多租戶(hù)場(chǎng)景下任務(wù)優(yōu)先級,調度速度,資源管理的需求。在宿主節點(diǎn)上,鑒于Cube容器運行時(shí)的特點(diǎn),容器團隊精簡(jiǎn)了一些不需要kubelet實(shí)現的功能,例如在宿主上掛載configmap/volume目錄,運行cni插件,收集特定目錄日志等,增強了容器與宿主之間的隔離安全性。

Cube未來(lái)展望

在完成了上述開(kāi)發(fā)改造后,Cube產(chǎn)品成功上線(xiàn),并取得良好效果。后續Cube產(chǎn)品會(huì )繼續沿著(zhù)幫助用戶(hù)提升效率、降低開(kāi)銷(xiāo)、簡(jiǎn)化維護、節約成本的思路持續迭代更新。在容器性能方面,容器團隊會(huì )繼續優(yōu)化輕量級虛擬機IO路徑,減少虛擬化及管理組件的性能損耗,確保用戶(hù)容器實(shí)例穩定高效運行。在服務(wù)管理方面,Cube產(chǎn)品層面會(huì )推出多種的容器管理控制器,并實(shí)現Cube實(shí)例直接接入Kubernetes集群的能力,為用戶(hù)提供多層次的資源調度方式,方便用戶(hù)按實(shí)際需要管理維護。

轉載自UCloud技術(shù)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

欧美大胆少妇BBW| 欧美黑人性暴力猛交喷水黑人巨大| 四虎永久在线精品免费视频观看| 特级毛片www| 中国亚州女人69内射少妇| 曰曰摸夜夜添夜夜添高潮出水|