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