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