隨著云原生技術(shù)的加速普及,Kubernetes逐漸成為IT技術(shù)架構(gòu)的基石,并推動(dòng)著各行業(yè)技術(shù)架構(gòu)的轉(zhuǎn)型升級(jí)。在《InfoQ 編輯部開年聊聊2020 年值得關(guān)注的十大技術(shù)趨勢(shì)》報(bào)道中,寫到其中一個(gè)趨勢(shì)是容器化加速席卷大數(shù)據(jù)基礎(chǔ)架構(gòu)。
今天,我們就分享下金山云容器引擎在大數(shù)據(jù)平臺(tái)的應(yīng)用實(shí)踐。
大數(shù)據(jù)平臺(tái)擁抱Kubernetes 金山云容器引擎應(yīng)需而生
眾所周知,Hadoop的出現(xiàn)加速大數(shù)據(jù)技術(shù)的應(yīng)用推廣,隨著應(yīng)用場(chǎng)景的不斷豐富,近幾年也涌現(xiàn)出多款優(yōu)秀的計(jì)算框架,如Spark、Flink等。此前在大數(shù)據(jù)分布式調(diào)度平臺(tái)中,大家普遍采用是Yarn,但是隨著應(yīng)用場(chǎng)景豐富和規(guī)模擴(kuò)大,平臺(tái)逐漸暴露出一些問題,如資源隔離限制較弱、監(jiān)控信息不完善、彈性擴(kuò)展能力弱、GPU支持不足等。
隨著容器化的快速發(fā)展,大數(shù)據(jù)原有的Hadoop Yarn分布式任務(wù)調(diào)度模式,正在被基于Kubernetes的技術(shù)架構(gòu)所取代。容器憑借輕量秒級(jí)部署、一次構(gòu)建、處處運(yùn)行的巨大優(yōu)勢(shì),推動(dòng)了快捷、自動(dòng)化的工作流程,同時(shí)Kubernetes提供的強(qiáng)大編排能力以及蓬勃發(fā)展的社區(qū)生態(tài),為大數(shù)據(jù)容器化提供了便捷的平臺(tái)。
大數(shù)據(jù)系統(tǒng)原生支持on Kubernetes,例如Spark 從官方2.3版本開始就可以無需任何修改直接運(yùn)行在 Kubernetes 上,這是一個(gè)里程碑式的事件,表明了未來技術(shù)架構(gòu)的發(fā)展方向。
1.容器引擎是金山云推出的Kubernetes服務(wù)產(chǎn)品,基于原生的Kubernetes進(jìn)行開發(fā)和適配,無縫融合了金山云生態(tài)的其他基礎(chǔ)資源和產(chǎn)品服務(wù)。
目前,金山云容器引擎覆蓋主流應(yīng)用的多版本Kubernetes,支持一鍵式創(chuàng)建,多可用區(qū)高可用部署,同時(shí)提供舊版本的一鍵升級(jí)功能,持續(xù)保護(hù)用戶資產(chǎn);集成云平臺(tái)能力,如網(wǎng)絡(luò)方案(Flannel和Canal)、持久化存儲(chǔ)(塊存儲(chǔ)和文件存儲(chǔ))、安全(多租戶隔離和主機(jī)加固)等;鏡像倉庫支持對(duì)Docker hub、gcr.io鏡像加速,高速內(nèi)網(wǎng)下載鏡像,11個(gè)9的可靠性保證;在控制臺(tái)支持Kubernetes 的軟件包管理工具Helm,提供金山云官方Helm Chart,支持在線可視化部署Helm應(yīng)用。
此外,金山云容器引擎大幅降低了Kubernetes的使用門檻和綜合成本,讓用戶開發(fā)團(tuán)隊(duì)更專注自身業(yè)務(wù)。
統(tǒng)一管理、彈性伸縮 為用戶創(chuàng)造更多價(jià)值
由于大數(shù)據(jù)應(yīng)用的復(fù)雜性,會(huì)使用多種類型的機(jī)型作為Work節(jié)點(diǎn),如利用云主機(jī)應(yīng)對(duì)快速的流量擴(kuò)容、利用云物理服務(wù)器提供無性能損耗能力、利用云GPU服務(wù)器的大規(guī)模線程和高速計(jì)算力優(yōu)勢(shì)等等,來滿足計(jì)算的需求。
金山云容器引擎提供混合集群的統(tǒng)一管理服務(wù),在一個(gè)集群可以實(shí)現(xiàn)多種類型節(jié)點(diǎn)的統(tǒng)一管理,通過Label的設(shè)置可以實(shí)現(xiàn)對(duì)整體資源的統(tǒng)一調(diào)度部署,避免了多個(gè)集群的使用,一方面大幅降低了使用成本,另一方面有效提升管理效率。
大數(shù)據(jù)業(yè)務(wù)對(duì)計(jì)算的需求是動(dòng)態(tài)的,并且波動(dòng)較大,金山云容器引擎支持Cluster AutoScaler實(shí)現(xiàn)集群工作節(jié)點(diǎn)的彈性伸縮,節(jié)省開支。目前,金山云容器引擎本身免費(fèi)對(duì)外提供使用,同時(shí)提供免費(fèi)的企業(yè)級(jí)容器鏡像倉庫服務(wù),用戶僅需支付所使用資源的費(fèi)用,工作節(jié)點(diǎn)支持預(yù)付費(fèi)包年包月、按日配置付費(fèi)、按小時(shí)配置計(jì)費(fèi)等靈活的計(jì)費(fèi)策略選擇。
2.大數(shù)據(jù)云平臺(tái)利用容器引擎集群、云物理機(jī)集群、云服務(wù)器集群構(gòu)建大數(shù)據(jù)控制平臺(tái)和共享服務(wù)資源池,為用戶提供租戶隔離、安全可靠的大數(shù)據(jù)托管服務(wù)。
3.大數(shù)據(jù)平臺(tái)在容器引擎的部署方案如上圖所示:
1、在endpoint容器引擎集群中部署微服務(wù)架構(gòu),如:數(shù)據(jù)管理(元數(shù)據(jù)管理、數(shù)據(jù)權(quán)限、數(shù)據(jù)質(zhì)量、數(shù)據(jù)地圖等)、數(shù)據(jù)服務(wù)、數(shù)據(jù)采集,共享的組件mysql ,redis等基礎(chǔ)服務(wù)。
2、在online/offline容器引擎集群中部署的大數(shù)據(jù)組hive、spark、flink、hbase、kafka、zookeeper、ElasticSearch等,目前hive、hbase等用的是HDFS存儲(chǔ),而zookeeper、ElasticSearch、kafka用的是NFS、KS3存儲(chǔ)。
目前,金山云大數(shù)據(jù)平臺(tái)已使用容器引擎平臺(tái)部署在線和離線的業(yè)務(wù),支持海量數(shù)據(jù)處理,在整個(gè)過程雙方團(tuán)隊(duì)積累了豐富的大數(shù)據(jù)使用經(jīng)驗(yàn),持續(xù)在spark on kubernetes的動(dòng)態(tài)資源、kube-scheduler調(diào)度策略等方面進(jìn)行優(yōu)化,升級(jí)產(chǎn)品功能,并賦能更廣泛的大數(shù)據(jù)相關(guān)用戶,為用戶創(chuàng)造更多價(jià)值。
作為CNCF基金會(huì)黃金會(huì)員之一,金山云致力于推動(dòng)基于容器技術(shù)的云原生產(chǎn)品方案落地實(shí)踐。目前,金山云已通過CNCF Kubernetes服務(wù)提供商認(rèn)證,容器引擎已通過CNCF Kubernetes一致性認(rèn)證以及可信云容器解決方案認(rèn)證和可信云Kubernetes認(rèn)證。此外,金山云擁有CNCF CKA、CKAD認(rèn)證的高級(jí)技術(shù)專家團(tuán)隊(duì),為用戶提供專業(yè)的產(chǎn)品和服務(wù)支持。
分享到微信 ×
打開微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。