最近因為工作需要,需要找一個功能完善的云原生應(yīng)用平臺,經(jīng)過自己篩選和朋友推薦,剩下 KubeSphere 和 Rainbond,這兩個產(chǎn)品都是基于 Kubernetes 之上構(gòu)建的云原生應(yīng)用平臺,功能都非常強大,但產(chǎn)品定位和功能側(cè)重不同,本文將介紹我在選型過程中從各維度對比兩款產(chǎn)品的過程記錄。
產(chǎn)品定位對比
KubeSphere是在 Kubernetes 之上構(gòu)建的面向云原生應(yīng)用的分布式操作系統(tǒng),完全開源,支持多云與多集群管理,提供全棧的 IT 自動化運維能力,簡化企業(yè)的 DevOps 工作流。作為全棧的多租戶容器平臺,KubeSphere 提供了運維友好的向?qū)讲僮鹘缑妫瑤椭髽I(yè)快速構(gòu)建一個強大和功能豐富的容器云平臺。KubeSphere 為用戶提供構(gòu)建企業(yè)級 Kubernetes 環(huán)境所需的多項功能,例如多云與多集群管理、Kubernetes 資源管理、DevOps、應(yīng)用生命周期管理、微服務(wù)治理(服務(wù)網(wǎng)格)、日志查詢與收集、服務(wù)與網(wǎng)絡(luò)、多租戶管理、監(jiān)控告警、事件與審計查詢、存儲管理、訪問權(quán)限控制、GPU 支持、網(wǎng)絡(luò)策略、鏡像倉庫管理以及安全管理等。
Rainbond是一個云原生應(yīng)用管理平臺,使用簡單,不需要懂容器、Kubernetes和底層復(fù)雜技術(shù),支持管理多個Kubernetes集群,和管理企業(yè)應(yīng)用全生命周期。主要功能包括應(yīng)用開發(fā)環(huán)境、應(yīng)用市場、微服務(wù)架構(gòu)、應(yīng)用交付、應(yīng)用運維、應(yīng)用級多云管理等。Rainbond 遵循 以應(yīng)用為中心的設(shè)計理念,統(tǒng)一封裝容器、Kubernetes和底層基礎(chǔ)設(shè)施相關(guān)技術(shù),讓使用者專注于業(yè)務(wù)本身, 避免在業(yè)務(wù)以外技術(shù)上花費大量學(xué)習(xí)和管理精力。
Slogan | 面向云原生應(yīng)用的混合云平臺 | 云原生多云應(yīng)用管理平臺 |
抽象 | 容器和K8s概念和抽象為主,應(yīng)用級抽象為輔 | 應(yīng)用級抽象 |
定位 | 面向懂K8s相關(guān)技術(shù)的運維和開發(fā) | 面向所有運維和開發(fā),平臺管理需要懂K8s |
KubeSphere | Rainbond |
---|
由于產(chǎn)品抽象不同,表現(xiàn)出來的概念和流程也有很大差異,KubeSphere主要是Kubernetes相關(guān)概念和抽象,使用和管理都需要懂Kubernetes相關(guān)體系知識,懂Kubernetes的人能快速上手,Rainbond應(yīng)用級抽象,使用門檻很低,面向不懂Kubernetes的普通開發(fā)人員,平臺管理跟KubeSphere一樣都需要懂Kubernetes。
開源社區(qū)活躍度對比
社區(qū)活躍度 | 論壇、微信群都活躍 | 微信 釘釘活躍 |
Stars | 11003 | 3451 |
文檔成熟度 | 很全面 | 很全面 |
版本迭代 | 近一年迭代了4個版本 | 近一年迭代了8個版本 |
開源 | 100% 開源 | 100% 開源 |
KubeSphere | Rainbond |
---|
KubeSphere 社區(qū)更加活躍些,畢竟是萬星開源項目,用戶遍布國內(nèi)外。Rainbond 社區(qū)用戶基本都是國內(nèi)用戶,Star上差了些不過Github、社區(qū)群也蠻活躍的。
安裝體驗對比
KubeSphere
支持通過一條命令在 Linux 上快速安裝 KubeSphere。
./kkcreatecluster--with-kubernetesv1.22.10--with-kubespherev3.3.0
Rainbond
支持通過一條命令在 Mac、Win、Linux 上快速安裝 Rainbond。
dockerrun--privileged-d-p7070:7070-p80:80-p6060:6060rainbond/rainbond:v5.8.1-dind-allinone
Docker Desktop and ARM | 不支持 | 支持 |
Linux | 支持 | 支持 |
Kubernetes | 支持 | 支持 |
公有云、托管Kubernetes | 支持 | 支持 |
安裝后組件數(shù)量 | 啟動所有可拔插組件后 Pod 大概 55 個左右 | 大概 15 個 Pod |
KubeSphere | Rainbond |
---|
KubeSphere和Rainbond安裝都很簡單。KubeSphere 自研的 KubeKey 安裝工具,在服務(wù)上安裝 K8s 和 KubeSphere 很方便。KubeSphere 的可拔插組件這個設(shè)計還蠻好的,Allinone安裝之后有 5 個 Pod 左右,能滿足基本運行需求,需要其他功能就通過可拔插開啟,開啟所有組件后 Pod 大概 60 個左右。Rainbond 能支持在 Mac M1 Docker Desktop 上安裝,這個安裝體驗還蠻好的可以在本地開發(fā),Rainbond 啟動后 Pod 大概15個左右,內(nèi)存占用1G 左右。
應(yīng)用部署功能對比
KubeSphere
KubeSphere對接git倉庫部署源碼,支持 Source-to-Image (S2I) 標(biāo)準(zhǔn)工作流將源碼打包成鏡像,并部署在 Kubernetes 集群中。支持 Java、Python、Node,其他語言可通過自定義 S2I 實現(xiàn)源碼構(gòu)建。
KubeSphere采用 Binary-to-Image (B2I) 標(biāo)準(zhǔn)工作流將二進制打包成鏡像,并部署在 Kubernetes 集群中。支持通過 Jar、War、二進制
KubeSphere 支持自定義持續(xù)構(gòu)建的流水線
Rainbond
Rainbond支持對接和整合 Gitlab、Github、Gitee、SVN,實現(xiàn)統(tǒng)一入口
Rainbond 的構(gòu)建支持自動識別源代碼類型,支持自動識別 Java Maven、Java Gradle、Java Jar、Java War、Python、PHP、.NetCore、Golang、NodeJS、Static HTML。
每種識別的開發(fā)語言支持設(shè)置環(huán)境相關(guān)信息,并自動構(gòu)建成容器鏡像。
源碼部署 | 支持 Java、Python、Node | 支持自動識別 Java Maven、Java Gradle、Java Jar、Java War、Python、PHP、.NetCore、Golang、NodeJS、Static HTML |
二進制部署 | Jar、War | Jar、War |
容器鏡像 | 支持容器鏡像部署 | 支持容器鏡像、docker run、docker compose部署 |
Kubernetes 應(yīng)用 | Yaml、Helm | Yaml、Helm |
持續(xù)交付 | 支持GitOps和自定義流水線步驟 | 支持GitOps |
KubeSphere | Rainbond |
---|
KubeSphere 兼容Kubernetes體系,應(yīng)用部署使用S2I和B2I,KubeSphere自定義流水線功能非常強大,配置靈活。Rainbond 應(yīng)用部署不需要懂容器和Kubernetes,支持常見的源代碼,并自動識別和構(gòu)建,使用非常簡單。
微服務(wù)架構(gòu)功能對比
KubeSphere
KubeSphere的微服務(wù)架構(gòu)基于 Istio 實現(xiàn),支持微服務(wù)的流量可視化管理。
基于Jaeger的調(diào)用鏈分析
Rainbond
Rainbond的微服務(wù)架構(gòu)拓?fù)浜头?wù)編排,通過圖形化的編排,添加組件之間的依賴關(guān)系,添加后也會注入服務(wù)之間的連接信息等。拓?fù)鋱D可以展示服務(wù)之間的關(guān)系,用顏色區(qū)分服務(wù)的狀態(tài)等。
微服務(wù)實時性能分析
服務(wù)網(wǎng)格支持 | Istio | 內(nèi)置、Istio、Linkerd |
服務(wù)拓?fù)鋱D | 流量拓?fù)鋱D | 微服務(wù)依賴關(guān)系和服務(wù)狀態(tài)展示 |
服務(wù)治理 | 熔斷、限流 | 插件實現(xiàn)熔斷斷路器和限流 |
微服務(wù)可觀測性 | 調(diào)用鏈分析 | 通過插件擴展非常多可觀測性:性能分析、pinpoint、skywalking、Jaeger等 |
微服務(wù)編排 | 代碼編排 | “拖拉拽”的形式編排微服務(wù)依賴關(guān)系 |
KubeSphere | Rainbond |
---|
KubeSphere 完全依賴 Istio 實現(xiàn)微服務(wù)架構(gòu),對Istio的功能支持非常完整,KubeSphere彌補了Istio沒有圖形化的控制面板的不足,簡化了 Istio 的上手難度,服務(wù)之間的拓?fù)鋱D是根據(jù)流量走向自動生成的,可以直觀的看到服務(wù)間流量。
Rainbond 的服務(wù)網(wǎng)格、服務(wù)治理、可觀測性都是通過插件體系支持的,傳統(tǒng)應(yīng)用開啟服務(wù)網(wǎng)格插件,馬上就能支持微服務(wù)架構(gòu),服務(wù)治理和可觀測性也只需要開啟相應(yīng)插件,Rainbond內(nèi)置了很多插件,有需要還可以自行擴展,可以將自己趁手的工具添加進來,另外,圖形化手動編排服務(wù)是個特色,不用改代碼就可以動態(tài)調(diào)整依賴關(guān)系。
應(yīng)用市場功能對比
KubeSphere
內(nèi)置應(yīng)用商店有 30 個應(yīng)用可直接安裝。
基于 Helm Chart 創(chuàng)建應(yīng)用模板。
發(fā)布 Helm Chart 應(yīng)用模板。
Rainbond
內(nèi)置應(yīng)用商店有 90+ 應(yīng)用可直接安裝。
支持用戶將已經(jīng)部署好的應(yīng)用一鍵發(fā)布至應(yīng)用市場,無需編寫復(fù)雜的YAML??梢砸绘I發(fā)布應(yīng)用模型內(nèi)所有元數(shù)據(jù),例如依賴關(guān)系、配置文件、存儲信息等。
支持應(yīng)用離線導(dǎo)出導(dǎo)入,支持導(dǎo)出 Rainbond App 應(yīng)用包、Docker Compose 應(yīng)用包、非容器環(huán)境應(yīng)用包。
支持基于 Rainbond 應(yīng)用市場一鍵安裝和一鍵升級,升級會包含應(yīng)用模型內(nèi)所有元數(shù)據(jù),包括依賴關(guān)系等。
應(yīng)用模板 | Helm | Rainbond 應(yīng)用模版、Helm |
應(yīng)用發(fā)布 | 上傳 Helm Chart | 一鍵發(fā)布到應(yīng)用市場 |
應(yīng)用安裝 | 一鍵安裝 | 一鍵安裝 |
應(yīng)用升級 | 整體升級 | 部分升級或整體升級 |
離線導(dǎo)入導(dǎo)出 | 不支持 | 離線導(dǎo)出多種格式包 |
內(nèi)置應(yīng)用 | 30 可用應(yīng)用 | 90+ 可用應(yīng)用 |
KubeSphere | Rainbond |
---|
在應(yīng)用市場這塊Rainbond的功能比KubeSphere強大很多,易用性也好很多。KubeSphere 在應(yīng)用市場這塊是基于標(biāo)準(zhǔn)的 Helm 實現(xiàn)的,在應(yīng)用發(fā)布、安裝、升級這套流程里是按照標(biāo)準(zhǔn)的 Helm 應(yīng)用規(guī)范實現(xiàn),制作 Helm Chart 門檻比較高,功能也受限于Helm。Rainbond 的應(yīng)用市場 定義了自己的應(yīng)用模型規(guī)范,也支持Helm Chart轉(zhuǎn)成Rainbond的應(yīng)用模型,應(yīng)用發(fā)布支持一鍵發(fā)布由幾十個服務(wù)組成的應(yīng)用,無需編寫復(fù)雜的YAML,離線導(dǎo)出是在企業(yè)軟件交付場景非常實用的功能。
Kubenetes 多集群管理功能對比
KubeSphere
KubeSphere支持對接多個 K8s 集群,支持各種云廠商托管 K8s 集群以及私有云、混合云等。借助 KubeSphere的圖形化 Web 控制臺,用戶可以管理底層的基礎(chǔ)架構(gòu),例如添加或刪除集群??梢允褂孟嗤姆绞焦芾聿渴鹪谌魏位A(chǔ)架構(gòu)上的異構(gòu)集群。支持跨集群應(yīng)用分發(fā),資源整合等。支持通過圖形化界面管理節(jié)點,監(jiān)控集群狀態(tài)、應(yīng)用資源監(jiān)控、集群告警和通知等。
集群監(jiān)控
Rainbond
支持對接多個 K8s 集群,支持各種云廠商托管 K8s 集群以及私有云、混合云等。支持用戶通過控制臺添加或刪除集群,支持跨集群應(yīng)用分發(fā)。
通過grafana擴展的集群和節(jié)點監(jiān)控
多集群管理 | 支持對接多個 K8s 集群 | 支持對接多個 K8s 集群 |
集群管理 | 存儲管理、節(jié)點管理 | 命令行管理 |
集群監(jiān)控和可視化 | 豐富的監(jiān)控 | 通過grafana擴展的監(jiān)控 |
多租戶 |
從平臺角色、企業(yè)空間角色、項目角色三個維度定義多租戶 支持企業(yè)空間、項目進行資源限額,支持多租戶的邏輯隔離、網(wǎng)絡(luò)隔離 |
從企業(yè)角色、團隊角色兩個維度定義多租戶 支持對團隊的資源限額,支持多租戶的邏輯隔離 |
KubeSphere | Rainbond |
---|
KubeSphere 在多集群管理這塊比Rainbond體驗好,有豐富的監(jiān)控和可觀測性,管理存儲和節(jié)點在控制臺全部完成,Rainbond在集群管理這塊需要在命令行下管理,監(jiān)控功能也弱一些。
應(yīng)用運維功能對比
基本管理
KubeSphere
支持對工作負(fù)載、容器組級別的管理,支持工作負(fù)載的YAML編輯、版本回滾、刪除、重新創(chuàng)建等。
支持對容器級別的日志查詢過濾,支持全局的日志查詢過濾。
KubeSphere 采用 Kubernetes 原生模式進行應(yīng)用訪問,可通過 NodePort、LoadBalancer、Ingress實現(xiàn)外部訪問。支持?jǐn)U展第三方負(fù)載均衡控制器以及 Ingress 控制器
Rainbond
支持對應(yīng)用、組件級別的管理,支持應(yīng)用批量啟動、重啟、更新、關(guān)閉、刪除以及組件的操作,支持應(yīng)用和組件級別的環(huán)境變量、版本回滾等。
組件日志實時查看和篩選
Rainbond采用統(tǒng)一的應(yīng)用網(wǎng)關(guān),支持配置HTTP路由規(guī)則和HTTPS證書
由 Rainbond Gateway 統(tǒng)一封裝訪問,支持http、tcp、udp、grpc訪問組件。
基本管理 | 支持對工作負(fù)載級別的管理 | 支持對應(yīng)用、組件級別的管理 |
日志 | 支持容器組日志查詢過濾和全局日志查詢過濾 | 支持組件日志查詢過濾 |
監(jiān)控 | 支持工作負(fù)載級別的告警以及自定義監(jiān)控圖 | 支持組件級別的監(jiān)控以及圖表,告警可擴展 |
伸縮 | 支持手工和自動 | 支持手工和自動 |
網(wǎng)關(guān) | 支持 NodePort、LoadBalancer 和 Nginx Ingress | 由 Rainbond Gateway 統(tǒng)一封裝訪問,支持http、tcp、udp、grpc |
KubeSphere | Rainbond |
---|
對于基本管理來說 KubeSphere 是原生 K8s 的一些管理,比如刪除Pod、編輯YAML、配置環(huán)境、自定伸縮等,同樣 Rainbond 展現(xiàn)的是應(yīng)用級概念,比如:在K8s里沒有關(guān)閉的概念,而在Rainbond里應(yīng)用不用了直接關(guān)閉,想用了再啟動,Rainbond做了很多應(yīng)用級的概念轉(zhuǎn)化,對于不動K8s的開發(fā)人員更加容易接受。
KubeSphere 在網(wǎng)關(guān)這塊同樣也是遵循了 K8s 原生的模式,通過 NodePort、LoadBalancer、Ingress實現(xiàn)外部訪問,并通過圖形化操作簡化了 YAML 的操作,優(yōu)點是可以擴展更多第三方 Ingress 控制器,例如 Traefik 等。Rainbond 網(wǎng)關(guān)則是通過 Rainbond Gateway 統(tǒng)一封裝實現(xiàn)外部訪問,簡化了用戶的操作,一鍵開啟外部訪問,同時也能配置 HTTP 的路由規(guī)則等,使用的體驗非常好。
總結(jié)
總體來說,KubeSphere 和 Rainbond 都很成熟,也都有大量開源使用用戶,只是定位不同,所以適用場景也會不同。
KubeSphere 在兼容 Kubernetes 生態(tài)方面做的非常好,包裝和整合了很多云原生的工具,并擴展了對 Kubernetes 和開源工具的管理能力,對于想要管理 Kubernetes 集群的系統(tǒng)管理員是個好的工具,熟悉 Kubernetes 的工程師也可以自行擴展 KubeSphere 的能力。但對開發(fā)人員來開發(fā)和管理應(yīng)用來說,門檻比較高,需要學(xué)習(xí)和理解的概念非常多。
Rainbond 屏蔽了底層復(fù)雜的技術(shù),基于應(yīng)用級抽象,在 Rainbond 的產(chǎn)品閉環(huán)里,體驗非常好。這適用普通的開發(fā)人員開發(fā)和管理應(yīng)用,對于不熟悉 Kubernetes 用戶快速起步也是一個不錯的選擇,在企業(yè)軟件交付上 Rainbond 非常擅長。但在對 Kubernetes 的系統(tǒng)管理上功能有欠缺。
由于個人知識和經(jīng)驗有限,如有理解不對的地方,還請見諒。
審核編輯:湯梓紅
-
開源
+關(guān)注
關(guān)注
3文章
3370瀏覽量
42577 -
云原生
+關(guān)注
關(guān)注
0文章
250瀏覽量
7957 -
kubesphere
+關(guān)注
關(guān)注
0文章
3瀏覽量
201
原文標(biāo)題:開源云原生平臺KubeSphere與Rainbond對比
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論