KubeSphere就是一個(gè)極少數(shù)中國(guó)開(kāi)源的,在國(guó)外也廣受認(rèn)可的項(xiàng)目。在最近一次溝通中,青云QingCloud應(yīng)用及容器平臺(tái)研發(fā)總監(jiān)周小四表示,Github上的數(shù)據(jù)顯示,過(guò)去半年,KubeSphere海外用戶(hù)達(dá)到58%,已經(jīng)超過(guò)國(guó)內(nèi)用戶(hù)。KubeSphere儼然已經(jīng)成為一個(gè)國(guó)際化的開(kāi)源項(xiàng)目。
KubeSphere是一個(gè)經(jīng)過(guò)CNCF官方認(rèn)證的開(kāi)源容器云平臺(tái),是已知目前中國(guó)唯一的Kubernetes發(fā)行版。有了它,用戶(hù)就能對(duì)下到硬件資源,上到應(yīng)用層的IT棧進(jìn)行管理;有了它,用戶(hù)就可以開(kāi)發(fā)管理和運(yùn)維大量容器應(yīng)用,對(duì)應(yīng)用負(fù)載進(jìn)行遷移,進(jìn)行DevOps,開(kāi)發(fā)微服務(wù),享受到云原生的美好。
KubeSphere于2018年正式對(duì)外發(fā)布,2019年4月發(fā)布了2.0版本,2020年6月30日,KubeSphere終于迎來(lái)了又一次重大更新,KubeSphere 3.0版本新增了多集群管理,便于進(jìn)行基于容器的混合云管理,另外,生態(tài)支持方面也有了新的進(jìn)展。
新特性1:多集群管理功能開(kāi)啟容器混合云時(shí)代
混合云已是大勢(shì)所趨,作為混合云領(lǐng)域的先行者,青云QingCloud早在2014年就看準(zhǔn)了混合云的方向。青云QingCloud應(yīng)用及容器平臺(tái)研發(fā)總監(jiān)周小四表示,混合云正在從資源型管理向應(yīng)用型管理轉(zhuǎn)型。
這一轉(zhuǎn)變背后的重要技術(shù)推動(dòng)力就是容器,而KubeSphere本身是一個(gè)側(cè)重云原生應(yīng)用管理的容器平臺(tái)。周小四介紹說(shuō),KubeSphere3.0解決了混合云常態(tài)化帶來(lái)的應(yīng)用層面上的訴求,能夠讓企業(yè)快速邁入云原生時(shí)代。
從功能定位上來(lái)看,KubeSphere 3.0的一大亮點(diǎn)是真正支持容器混合云。
因?yàn)镵ubeSphere 3.0提供了多集群管理功能,除了字面意思上的能增加和刪除集群以外,還支持應(yīng)用層面的多集群管理,可以讓?xiě)?yīng)用進(jìn)行跨集群部署,選擇讓?xiě)?yīng)用部署在某個(gè)集群上。
KubeSphere容器平臺(tái)產(chǎn)品經(jīng)理于爽介紹說(shuō),KubeSphere的多集群管理支持Solo和聯(lián)邦兩種集群管理方式。Solo是指對(duì)各個(gè)獨(dú)立的Kubernetes集群進(jìn)行集中控制;聯(lián)邦模式則是把多個(gè)Kubernetes集群聚合起來(lái)形成一個(gè)Kubernetes資源池,并且在其上層構(gòu)建跨Zone、跨集群的高可用。
新特性2:可觀(guān)察性能力讓所有人看得懂
可觀(guān)察性是Kubernetes生態(tài)里的專(zhuān)業(yè)術(shù)語(yǔ),包含監(jiān)控、日志、鏈路追蹤、告警、通知等方方面面,但不難發(fā)現(xiàn),這些都是面向運(yùn)維人員的,隨著大量業(yè)務(wù)遷移到Kubernetes上,大量業(yè)務(wù)人員也在使用這一平臺(tái),如何能站在業(yè)務(wù)人員角度來(lái)提供服務(wù),讓業(yè)務(wù)人員也能看懂、會(huì)用呢?
為此,KubeSphere 3.0兼容了已經(jīng)成為了事實(shí)標(biāo)準(zhǔn)的監(jiān)控框架Prometheus,現(xiàn)有應(yīng)用只要基于Prometheus暴露了監(jiān)控指標(biāo),就可以無(wú)縫地對(duì)接到在KubeSphere上,如果沒(méi)有基于Prometheus做開(kāi)發(fā),那么也可以使用Prometheus Exporter來(lái)讓已經(jīng)開(kāi)發(fā)好的應(yīng)用暴露出監(jiān)控指標(biāo)。
所有暴露出來(lái)的監(jiān)控指標(biāo)最終通過(guò)KubeSphere UI控制臺(tái)來(lái)展示,監(jiān)控面板將多個(gè)監(jiān)控指標(biāo)進(jìn)行拼接組裝,讓業(yè)務(wù)人員看到自己最關(guān)注的指標(biāo)。
可以看到,作為一個(gè)技術(shù)架構(gòu)平臺(tái),KubeSphere已經(jīng)與業(yè)務(wù)盡可能多地進(jìn)行整合,這點(diǎn)突破了筆者對(duì)于一個(gè)基礎(chǔ)設(shè)施架構(gòu)的認(rèn)知范圍,凸顯了容器云平臺(tái)的獨(dú)特價(jià)值。
新特性3:強(qiáng)化安全能力讓企業(yè)用的更放心
KubeSphere3.0在兩個(gè)點(diǎn)上強(qiáng)化了安全性,一個(gè)是支持金融用戶(hù)做審計(jì),系統(tǒng)能記錄什么時(shí)間、誰(shuí)做過(guò)操作,操作了什么,發(fā)生了什么結(jié)果等。
另一個(gè)強(qiáng)化主要在于網(wǎng)絡(luò)安全隔離特性,原生的Kubernetes有一個(gè)Namespace(命名空間)的概念,但并沒(méi)有考慮網(wǎng)絡(luò)安全隔離,不同租戶(hù)之間的應(yīng)用可以相互訪(fǎng)問(wèn),這是企業(yè)用戶(hù)不能接受的。尤其是那些對(duì)于安全和審計(jì)有嚴(yán)格要求的大型企業(yè),更需要強(qiáng)隔離的特性。
KubeSphere3.0一方面保留了原生的租戶(hù)可互相訪(fǎng)問(wèn)的特性,一方面又加入了租戶(hù)網(wǎng)絡(luò)安全策略管理,用戶(hù)可自行配置訪(fǎng)問(wèn)策略,用它來(lái)配置某租戶(hù)下的服務(wù)能否對(duì)外提供訪(fǎng)問(wèn),或者哪些租戶(hù)可以訪(fǎng)問(wèn)這個(gè)服務(wù)。這一安全策略契合了現(xiàn)在很多大型企業(yè)的訴求,特別是金融類(lèi)企業(yè)的訴求。
功能特性已經(jīng)基本成型,接下來(lái)要精進(jìn)生態(tài)
進(jìn)化到3.0,KubeSphere在功能特性上已經(jīng)基本成型,開(kāi)始強(qiáng)化對(duì)于生態(tài)方面的支持。周小四表示,在云原生應(yīng)用領(lǐng)域,容器平臺(tái)廠(chǎng)商未來(lái)的競(jìng)爭(zhēng)一定是生態(tài)的競(jìng)爭(zhēng),并不是某一個(gè)功能比別人做得好,就一定能贏得市場(chǎng)。
在生態(tài)方面,KubeSphere會(huì)盡可能多地保持開(kāi)放性和兼容性。目前,KubeSphere支持各種主流云平臺(tái)以及同類(lèi)容器平臺(tái),包括Rancher和OpenShift。
與Rancher和OpenShift相比,KubeSphere更輕量一些,所以,KubeSphere也能與它們友好兼容。
KubeKey是KubeSphere 3.0新增的安裝方式,有了它,用戶(hù)可以可以一鍵部署Kubernetes和KubeSphere,意義在于可以更好地與合作伙伴的方案集成。
對(duì)于已經(jīng)部署了K8s的集群,KubeSphere作為純軟件方案,可以無(wú)縫地部署在這些既有Kubernetes平臺(tái)上。不會(huì)因?yàn)槭褂昧薑ubeSphere而需要做遷移、改造,可以很好地保護(hù)用戶(hù)現(xiàn)有的業(yè)務(wù)資產(chǎn),也不會(huì)對(duì)業(yè)務(wù)有任何影響。
KubeSphere本身的開(kāi)放性也從根本上隔絕了綁定的問(wèn)題。KubeSphere支持社區(qū)標(biāo)準(zhǔn),只要遵循社區(qū)標(biāo)準(zhǔn),所有組件都可以對(duì)接到這一平臺(tái)。比如,用戶(hù)可以把所有兼容Prometheus Exporter標(biāo)準(zhǔn)的應(yīng)用對(duì)接進(jìn)來(lái),可以支持兼容Helm v3的應(yīng)用打包方式,支持Open Policy Agent標(biāo)準(zhǔn)。反之,在KubeSphere上可以運(yùn)行的組件,也可以在所有兼容社區(qū)標(biāo)準(zhǔn)的平臺(tái)上運(yùn)行。
面向企業(yè)的開(kāi)源容器平臺(tái)
青云QingCloud從公有云起步,而后又做基于分布式存儲(chǔ)以及超融合的企業(yè)級(jí)產(chǎn)品服務(wù),有公有云和私有云的技術(shù)和經(jīng)驗(yàn)積累,這些積累也都將在KubeSphere中得到體現(xiàn)。KubeSphere有豐富的企業(yè)級(jí)特性,功能上能更符合企業(yè)需求和IT現(xiàn)狀。
目前已經(jīng)有各行各業(yè)的用戶(hù)在生產(chǎn)環(huán)境下在使用KubeSphere,我們簡(jiǎn)單看看這兩個(gè)案例。
國(guó)內(nèi)某頭部城商行經(jīng)常通過(guò)外包團(tuán)隊(duì)來(lái)完成業(yè)務(wù)開(kāi)發(fā)和運(yùn)維,這些外包團(tuán)隊(duì)來(lái)自多個(gè)外包公司,每個(gè)外包團(tuán)隊(duì)都各自為政,使用不同的開(kāi)發(fā)項(xiàng)目管理工具,有自己的開(kāi)發(fā)習(xí)慣和架構(gòu),這對(duì)于作為管理者的銀行帶來(lái)了較大負(fù)擔(dān),風(fēng)險(xiǎn)管控和可靠性上都有影響。
KubeSphere提供的平臺(tái)管理、內(nèi)置DevOps等功能,為該城商行信用卡中心提供了整體解決方案,通過(guò)對(duì)業(yè)務(wù)梳理,優(yōu)化代碼版本管理,提高了開(kāi)發(fā)測(cè)試效率,通過(guò)統(tǒng)一化的平臺(tái)把各自為政的外包公司匯聚管理起來(lái)。
與紅帽的商業(yè)邏輯類(lèi)似,做開(kāi)源的同時(shí),青云QingCloud也會(huì)提供基于KubeSphere的商業(yè)服務(wù),在該城商行信用卡中心項(xiàng)目中,青云的產(chǎn)品團(tuán)隊(duì)、服務(wù)團(tuán)隊(duì)和售前解決方案團(tuán)隊(duì),合力幫助用戶(hù)梳理了他們的業(yè)務(wù),使得銀行的業(yè)務(wù)構(gòu)建效率大大提高。
某互聯(lián)網(wǎng)創(chuàng)業(yè)公司是KubeShpere社區(qū)用戶(hù),他們主要對(duì)外提供加速小程序開(kāi)發(fā)的服務(wù),可以用拖拽的方式構(gòu)建小程序。作為創(chuàng)業(yè)公司,該公司人員非常有限,而構(gòu)建和運(yùn)維一個(gè)Kubernetes平臺(tái)需要大量專(zhuān)業(yè)技術(shù)人員,算下來(lái)成本其實(shí)非常高,對(duì)于創(chuàng)業(yè)公司來(lái)說(shuō),一個(gè)好的容器平臺(tái)才是明智之選。
該互聯(lián)網(wǎng)公司有一部分業(yè)務(wù)在AWS上,還有一部分在青云QingCloud上,是典型的混合多云架構(gòu)。該公司使用了KubeSphere里的DevOps和微服務(wù)功能來(lái)管理不同集群中的不同的業(yè)務(wù),比如,把測(cè)試業(yè)務(wù)放在了青云QingCloud容器云服務(wù)QKE里,開(kāi)發(fā)業(yè)務(wù)放在AWS上,通過(guò)KubeSphere一套平臺(tái)來(lái)管理。通過(guò)使用自定義開(kāi)發(fā)鏡像、代碼直達(dá)鏡像等特性提高了業(yè)務(wù)開(kāi)發(fā)效率。
初步體驗(yàn)的感受
Kubernetes的入門(mén)門(mén)檻其實(shí)很高,手動(dòng)從零開(kāi)始安裝一套能運(yùn)行,且功能組件相對(duì)完備的Kubernetes集群是非常麻煩的,網(wǎng)上有許多教程,但操作過(guò)程非常復(fù)雜,如果有環(huán)境依賴(lài)問(wèn)題很容易安裝失敗,即使安裝成功,在使用過(guò)程中的問(wèn)題也非常讓人頭疼,想要直接使用Kubernetes,門(mén)檻其實(shí)非常高。
而使用KubeSphere的門(mén)檻很低。它的安裝過(guò)程非常簡(jiǎn)單,KubeSphere提供圖形化的管理方式,即使是對(duì)容器平臺(tái)一無(wú)所知的小白,在開(kāi)發(fā)文檔的指引下,也能輕松安裝部署一個(gè)應(yīng)用,進(jìn)而熟悉整個(gè)容器平臺(tái)的各種關(guān)鍵概念,能大大降低上手的門(mén)檻。就好比第一次使用Windows、iOS或者安卓系統(tǒng)來(lái)安裝一款軟件后,你就能漸漸熟悉一款操作系統(tǒng)一樣。
KubeSphere極大地降低了Kubernetes的入門(mén)門(mén)檻,是非常理想的Kubernetes新手村教官。它能大大降低Kubernetes的使用難度,用戶(hù)可以對(duì)照著KubeSphere了解整個(gè)Kubernetes體系,了解Kubernetes的主要概念和特性。當(dāng)然,也也可以對(duì)照著KubeSphere的設(shè)計(jì)來(lái)理解Kubernetes。
有興趣的朋友可以自己做做測(cè)試,在本地虛擬機(jī)上就能安裝體驗(yàn),參照文檔進(jìn)行一些基本的體驗(yàn)了。(https://kubesphere.io/zh/)?