摘要:存儲(chǔ)方面,容器目前支持了兩種類型的存儲(chǔ)可以多點(diǎn)讀寫的網(wǎng)絡(luò)文件系統(tǒng)和僅單點(diǎn)讀寫的云硬盤。通過(guò)添加對(duì)協(xié)議的支持,輕量級(jí)虛擬機(jī)可以直接對(duì)接到服務(wù),從而實(shí)現(xiàn)了對(duì)高性能的型云硬盤掛載和使用。
隨著云原生技術(shù)的推廣及落地,容器技術(shù)在企業(yè)生產(chǎn)環(huán)境中的使用比重越來(lái)越大。Kubernetes作為容器編排的事實(shí)標(biāo)準(zhǔn),在企業(yè)服務(wù)中被大量采用。UCloud容器團(tuán)隊(duì)在2018年推出了Kubernetes產(chǎn)品UK8S, 這款產(chǎn)品基于UCloud公有云環(huán)境實(shí)現(xiàn),無(wú)縫集成了UCloud IaaS層計(jì)算、網(wǎng)絡(luò)及存儲(chǔ)的服務(wù),使客戶能夠快速獲取到生產(chǎn)可用的Kubernetes集群,并擁有靈活控制集群的能力。
但在UK8S產(chǎn)品推廣及接入客戶過(guò)程中,容器團(tuán)隊(duì)也陸續(xù)收到一些用戶反饋的問(wèn)題:
為解決上述用戶問(wèn)題,UCloud容器團(tuán)隊(duì)開(kāi)發(fā)了一款新的serverless容器產(chǎn)品Cube,目前正處在公測(cè)階段。除了降低用戶使用容器的門檻,該產(chǎn)品還具有以下特性:
1.?免運(yùn)維:沒(méi)有維護(hù)資源負(fù)擔(dān),不需要關(guān)心運(yùn)行位置,以應(yīng)用為中心,以容器鏡像為應(yīng)用打包標(biāo)準(zhǔn)。
2.?按需付費(fèi):按照應(yīng)用實(shí)際使用資源付費(fèi)。
3.?自動(dòng)擴(kuò)縮容:基于海量資源,提供API,可按需拉起和關(guān)閉應(yīng)用,自動(dòng)調(diào)度資源。
4.?高可用:產(chǎn)品本身高可用,同時(shí)提供應(yīng)用自愈能力。
在實(shí)現(xiàn)Cube產(chǎn)品特性的過(guò)程中,容器團(tuán)隊(duì)需要解決幾個(gè)技術(shù)問(wèn)題:
1. 容器運(yùn)行時(shí)的選型
公有云產(chǎn)品必然要考慮多租戶隔離問(wèn)題。不同于UK8S產(chǎn)品以云主機(jī)為基礎(chǔ)構(gòu)建的隔離性,Cube產(chǎn)品則直接在宿主物理機(jī)上運(yùn)行容器。標(biāo)準(zhǔn)docker實(shí)現(xiàn)的容器并不能實(shí)現(xiàn)同臺(tái)宿主機(jī)上不同用戶不同容器之間的強(qiáng)隔離,因此Cube產(chǎn)品需要一款同時(shí)具備虛擬機(jī)強(qiáng)隔離性和容器快速啟動(dòng)特點(diǎn)的容器運(yùn)行時(shí)方案。
容器團(tuán)隊(duì)注意到AWS開(kāi)源了輕量級(jí)虛擬機(jī)firecracker,具有資源占用少、啟動(dòng)速度快、易于維護(hù)等諸多優(yōu)點(diǎn),并已用于實(shí)際生產(chǎn)環(huán)境,非常符合Cube業(yè)務(wù)場(chǎng)景,因此最終采用了以firecracker輕量級(jí)虛擬機(jī)為基礎(chǔ)的容器運(yùn)行時(shí)方案。從下面兩張圖可以看出,通過(guò)對(duì)云計(jì)算場(chǎng)景特別的精簡(jiǎn)和優(yōu)化, firecracker相對(duì)于目前主流的虛擬化組件qemu在啟動(dòng)速度和內(nèi)存消耗方面有明顯的優(yōu)勢(shì)。
VMM啟動(dòng)時(shí)間和內(nèi)存占用對(duì)比,圖片引用來(lái)源
2. 容器管理服務(wù)
支持虛擬機(jī)容器運(yùn)行時(shí)的容器管理服務(wù)也有多種開(kāi)源方案,例如containerd/cri-o,kata-container和firecracker-containerd等。經(jīng)過(guò)比較,容器團(tuán)隊(duì)選擇了cri-o + firecracker-containerd的組合。這二者在功能上能夠滿足單機(jī)容器管理的需求,而且和其他選型相比,代碼架構(gòu)更加清晰,調(diào)用鏈路簡(jiǎn)單明了,便于后續(xù)根據(jù)產(chǎn)品需求定制和改造。
3. 容器調(diào)度服務(wù)
Kubernetes已經(jīng)成為了容器調(diào)度的事實(shí)標(biāo)準(zhǔn),具備豐富的功能和良好的可擴(kuò)展性。因此容器團(tuán)隊(duì)采用Kubernetes作為基本調(diào)度框架,并根據(jù)產(chǎn)品需求做相關(guān)改造,最終基本的服務(wù)架構(gòu)如下所示:
雖然采用開(kāi)源方案可以加快開(kāi)發(fā)進(jìn)度,但為滿足產(chǎn)品需求仍需解決一些問(wèn)題,主要包括以下幾個(gè)方面:
1. 容器鏡像
在標(biāo)準(zhǔn)的容器鏡像實(shí)現(xiàn)中,鏡像是通過(guò)分層結(jié)構(gòu)存儲(chǔ)在宿主上的。當(dāng)創(chuàng)建容器時(shí),容器運(yùn)行時(shí)會(huì)在鏡像層之上創(chuàng)建一個(gè)可寫層,并掛載在宿主上供容器實(shí)例使用。但Cube容器并不是直接在宿主上運(yùn)行的,也不需要在宿主上掛載容器根目錄。因此容器團(tuán)隊(duì)修改了cri-o中鏡像層的相關(guān)實(shí)現(xiàn),直接將容器可寫層以塊設(shè)備的方式掛載到輕量級(jí)虛擬機(jī)中而非宿主上,減低了宿主對(duì)Cube容器的干擾。
另外,為了解決新鏡像拉取緩慢導(dǎo)致的容器實(shí)例啟動(dòng)慢的問(wèn)題,容器團(tuán)隊(duì)提出了鏡像遠(yuǎn)程掛載的解決方案。將容器鏡像以塊設(shè)備的形式存儲(chǔ)在緩存集群,當(dāng)需要在此鏡像上生成容器實(shí)例時(shí),先將容器鏡像通過(guò)遠(yuǎn)程掛載的形式掛載到宿主上,然后容器運(yùn)行時(shí)會(huì)在宿主上創(chuàng)建一層可寫層生成容器實(shí)例。同時(shí)后臺(tái)會(huì)將遠(yuǎn)程鏡像同步到宿主本地,進(jìn)一步加速讀取,降低集群風(fēng)險(xiǎn)。上述方法可使宿主上首次獲取鏡像的時(shí)間縮短至3s以下,并有進(jìn)一步優(yōu)化空間。目前這一功能以鏡像緩存的產(chǎn)品形式提供給用戶使用,并正在逐步整合到普通鏡像拉取過(guò)程中。
2. 使用公有云資源
網(wǎng)絡(luò)方面,Cube容器的網(wǎng)絡(luò)模型和云主機(jī)的基本相同。在將相關(guān)網(wǎng)絡(luò)功能以cni插件的形式實(shí)現(xiàn)之后,Cube容器就可以很好的接入到公有云vpc網(wǎng)絡(luò)中。
存儲(chǔ)方面,Cube容器目前支持了兩種類型的存儲(chǔ):可以多點(diǎn)讀寫的網(wǎng)絡(luò)文件系統(tǒng)nfs和僅單點(diǎn)讀寫的云硬盤udisk。在文件存儲(chǔ)功能上,Cube產(chǎn)品實(shí)現(xiàn)了在輕量級(jí)虛擬機(jī)中自動(dòng)掛載nfs的功能,用戶只需在配置文件中指定好掛載點(diǎn)和掛載參數(shù),就能直接在容器中使用網(wǎng)絡(luò)文件系統(tǒng),并可以同時(shí)支持vpc網(wǎng)絡(luò)內(nèi)用戶自建的nfs和UCloud公有云產(chǎn)品ufs。在塊設(shè)備功能上,容器團(tuán)隊(duì)擴(kuò)展了firecracker塊設(shè)備的實(shí)現(xiàn)。通過(guò)添加對(duì)vhost-user協(xié)議的支持,Cube輕量級(jí)虛擬機(jī)可以直接對(duì)接到spdk服務(wù),從而實(shí)現(xiàn)了對(duì)高性能的rssd型云硬盤掛載和使用。
3. 容器運(yùn)行環(huán)境
為了減少額外資源消耗,容器團(tuán)隊(duì)在容器管理服務(wù)和容器運(yùn)行時(shí)上做了大量?jī)?yōu)化工作。
容器團(tuán)隊(duì)修改了cri-o管理容器組的架構(gòu),采用了單pod對(duì)應(yīng)單shim的模型。通過(guò)一個(gè)shim管理一個(gè)pod內(nèi)全部容器,可以顯著的降低shim資源消耗,簡(jiǎn)化容器管理。對(duì)于輕量級(jí)虛擬機(jī),容器團(tuán)隊(duì)也對(duì)kernel/rootfs/init進(jìn)程等做了充分地精簡(jiǎn)優(yōu)化,只保留了最基本的功能,以加快啟動(dòng)速度,減小安全攻擊面,降低資源消耗。另外,容器團(tuán)隊(duì)還在輕量級(jí)虛擬機(jī)中內(nèi)置了infra container的實(shí)現(xiàn),Cube作為pod運(yùn)行時(shí)可以不必掛載額外的infra容器。
4. k8s改造
Kubernetes作為一個(gè)通用的容器調(diào)度框架,能夠滿足大部分容器管理的需求。但針對(duì)Cube特定的使用場(chǎng)景,容器團(tuán)隊(duì)仍需對(duì)k8s組件做一些改造。在控制面,容器團(tuán)隊(duì)采用了自定義的調(diào)度器,可以更好的滿足多租戶場(chǎng)景下任務(wù)優(yōu)先級(jí),調(diào)度速度,資源管理的需求。在宿主節(jié)點(diǎn)上,鑒于Cube容器運(yùn)行時(shí)的特點(diǎn),容器團(tuán)隊(duì)精簡(jiǎn)了一些不需要kubelet實(shí)現(xiàn)的功能,例如在宿主上掛載configmap/volume目錄,運(yùn)行cni插件,收集特定目錄日志等,增強(qiáng)了容器與宿主之間的隔離安全性。
在完成了上述開(kāi)發(fā)改造后,Cube產(chǎn)品成功上線,并取得良好效果。后續(xù)Cube產(chǎn)品會(huì)繼續(xù)沿著幫助用戶提升效率、降低開(kāi)銷、簡(jiǎn)化維護(hù)、節(jié)約成本的思路持續(xù)迭代更新。在容器性能方面,容器團(tuán)隊(duì)會(huì)繼續(xù)優(yōu)化輕量級(jí)虛擬機(jī)IO路徑,減少虛擬化及管理組件的性能損耗,確保用戶容器實(shí)例穩(wěn)定高效運(yùn)行。在服務(wù)管理方面,Cube產(chǎn)品層面會(huì)推出多種的容器管理控制器,并實(shí)現(xiàn)Cube實(shí)例直接接入Kubernetes集群的能力,為用戶提供多層次的資源調(diào)度方式,方便用戶按實(shí)際需要管理維護(hù)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/117622.html
摘要:存儲(chǔ)方面,容器目前支持了兩種類型的存儲(chǔ)可以多點(diǎn)讀寫的網(wǎng)絡(luò)文件系統(tǒng)和僅單點(diǎn)讀寫的云硬盤。通過(guò)添加對(duì)協(xié)議的支持,輕量級(jí)虛擬機(jī)可以直接對(duì)接到服務(wù),從而實(shí)現(xiàn)了對(duì)高性能的型云硬盤掛載和使用。Cube誕生背景隨著云原生技術(shù)的推廣及落地,容器技術(shù)在企業(yè)生產(chǎn)環(huán)境中的使用比重越來(lái)越大。Kubernetes作為容器編排的事實(shí)標(biāo)準(zhǔn),在企業(yè)服務(wù)中被大量采用。UCloud容器團(tuán)隊(duì)在2018年推出了Kubernetes...
摘要:華為云華為云在云原生這場(chǎng)游戲中,最具競(jìng)爭(zhēng)力的玩家之一。年,金山云在云原生領(lǐng)域推出了三款重磅產(chǎn)品星曜裸金屬服務(wù)器云服務(wù)器和云盤。在線上智博會(huì)上,浪潮云發(fā)布了經(jīng)過(guò)全新迭代升級(jí)的浪潮云,進(jìn)一步提升平臺(tái)云原生服務(wù)能力。面對(duì)數(shù)字時(shí)代復(fù)雜系統(tǒng)的不確定性,傳統(tǒng)的 IT 應(yīng)用架構(gòu)研發(fā)交付周期長(zhǎng)、維護(hù)成本高、創(chuàng)新升級(jí)難,煙囪式架構(gòu),開(kāi)放性差、組件復(fù)用度低,這些都成為了企業(yè)業(yè)務(wù)快速增長(zhǎng)的瓶頸。而云原生以其敏捷、...
摘要:技術(shù)開(kāi)放日云原生在多行業(yè)場(chǎng)景的落地實(shí)踐當(dāng)前,云計(jì)算已成為萬(wàn)千企業(yè)數(shù)字化轉(zhuǎn)型的基石,隨之而來(lái)的是對(duì)云計(jì)算應(yīng)用效能的更高要求。UCloud UCan技術(shù)開(kāi)放日——云原生在多行業(yè)場(chǎng)景的落地實(shí)踐當(dāng)前,云計(jì)算已成為萬(wàn)千企業(yè)數(shù)字化轉(zhuǎn)型的基石,隨之而來(lái)的是對(duì)云計(jì)算應(yīng)用效能的更高要求。敏捷開(kāi)發(fā)、彈性架構(gòu)、多集群運(yùn)維等,讓企業(yè)現(xiàn)有IT架構(gòu)面臨新的挑戰(zhàn)。云原生以其獨(dú)特的技術(shù)特點(diǎn),很好地契合了云計(jì)算發(fā)展的本質(zhì)需求...
摘要:徐亮厚稱,當(dāng)前云原生已成為業(yè)務(wù)發(fā)展的一個(gè)重要引擎,年疫情更是加大了對(duì)的需求,拉動(dòng)了大數(shù)據(jù)數(shù)據(jù)庫(kù)中間件人工智能的云原生化發(fā)展。未來(lái)英特爾將與一起,共同利用并發(fā)揮云原生的價(jià)值,為處在數(shù)字化型中的用戶,提供更加豐富的云化策略。 9月11日,由UCloud優(yōu)刻得主辦的UCan技術(shù)開(kāi)放日活動(dòng)上,以構(gòu)建云原生,擁抱新增長(zhǎng)為主題,UCloud攜手達(dá)達(dá)集團(tuán)、馭勢(shì)科技、企源科技以及英特爾等企業(yè)的云原生技術(shù)專...
摘要:掃描下方二維碼可觀看視頻回放,獲取講師合集活動(dòng)回顧來(lái)自技術(shù)中臺(tái)研發(fā)部的安雪艷介紹了基于打造的技術(shù)平臺(tái)。未來(lái)英特爾將與一起,共同利用并發(fā)揮云原生的價(jià)值,為處在數(shù)字化型中的用戶,提供更加豐富的云化策略。 ...
閱讀 2771·2021-09-24 10:34
閱讀 1874·2021-09-22 10:02
閱讀 2262·2021-09-09 09:33
閱讀 1466·2021-08-13 15:02
閱讀 3277·2020-12-03 17:10
閱讀 1191·2019-08-30 15:44
閱讀 2152·2019-08-30 12:58
閱讀 3236·2019-08-26 13:40