继续创作,加快生长!这是我参加「日新计划 10 月更文应战」的第2天,点击查看活动详情

最近因为作业需求,需求找一个功用完善的云原生运用渠道,经过自己挑选和朋友引荐,剩下 KubeSphere和Rainbond ,这两个产品都是根据 Kubernetes 之上构建的云原生运用渠道,功用都十分强壮,但产品定位和功用侧重不同,本文将介绍我在选型过程中从各维度比照两款产品的过程记载。

产品定位比照

KubeSphere 是在 Kubernetes 之上构建的面向云原生运用的分布式操作系统,完全开源,支撑多云与多集群办理,提供全栈的 IT 主动化运维才能,简化企业的 DevOps 作业流。作为全栈的多租户容器渠道,KubeSphere 提供了运维友爱的导游式操作界面,协助企业快速构建一个强壮和功用丰厚的容器云渠道。KubeSphere 为用户提供构建企业级 Kubernetes 环境所需的多项功用,例如多云与多集群办理、Kubernetes 资源办理、DevOps、运用生命周期办理、微服务办理(服务网格)、日志查询与搜集、服务与网络、多租户办理、监控告警、事情与审计查询、存储办理、拜访权限操控、GPU 支撑、网络策略、镜像仓库办理以及安全办理等。

Rainbond 是一个云原生运用办理渠道,运用简略,不需求懂容器、Kubernetes和底层杂乱技能,支撑办理多个Kubernetes集群,和办理企业运用全生命周期。主要功用包括运用开发环境、运用商场、微服务架构、运用交给、运用运维、运用级多云办理等。Rainbond 遵从 以运用为中心的规划理念,一致封装容器、Kubernetes和底层基础设施相关技能,让运用者专心于业务本身, 避免在业务以外技能上花费很多学习和办理精力。

KubeSphere Rainbond
Slogan 面向云原生运用的混合云渠道 云原生多云运用办理渠道
笼统 容器和K8s概念和笼统为主,运用级笼统为辅 运用级笼统
定位 面向懂K8s相关技能的运维和开发 面向一切运维和开发,渠道办理需求懂K8s

因为产品笼统不同,表现出来的概念和流程也有很大差异,KubeSphere主要是Kubernetes相关概念和笼统,运用和办理都需求懂Kubernetes相联系统常识,懂Kubernetes的人能快速上手,Rainbond运用级笼统,运用门槛很低,面向不明白Kubernetes的一般开发人员,渠道办理跟KubeSphere相同都需求懂Kubernetes。

开源社区活泼度比照

KubeSphere Rainbond
社区活泼度 论坛、微信群都活泼 微信 钉钉活泼
Stars 11003 3451
文档成熟度 很全面 很全面
版别迭代 近一年迭代了4个版别 近一年迭代了8个版别
开源 100% 开源 100% 开源

KubeSphere 社区愈加活泼些,毕竟是万星开源项目,用户遍及国内外。Rainbond 社区用户根本都是国内用户,Star上差了些不过Github、社区群也蛮活泼的。

装置体会比照

KubeSphere

支撑经过一条指令在 Linux 上快速装置 KubeSphere。

./kk create cluster --with-kubernetes v1.22.10 --with-kubesphere v3.3.0

开源云原生平台对比 KubeSphere vs Rainbond

Rainbond

支撑经过一条指令在 Mac、Win、Linux 上快速装置 Rainbond。

docker run --privileged -d -p 7070:7070 -p 80:80 -p 6060:6060 rainbond/rainbond:v5.8.1-dind-allinone

开源云原生平台对比 KubeSphere vs Rainbond

KubeSphere Rainbond
Docker Desktop and ARM 不支撑 支撑
Linux 支撑 支撑
Kubernetes 支撑 支撑
公有云、保管Kubernetes 支撑 支撑
装置后组件数量 发动一切可拔插组件后 Pod 大概 55 个左右 大概 15 个 Pod

KubeSphere和Rainbond装置都很简略。 KubeSphere 自研的 KubeKey 装置东西,在服务上装置 K8s 和 KubeSphere 很方便。KubeSphere 的可拔插组件这个规划还蛮好的,Allinone装置之后有 5 个 Pod 左右,能满意根本运行需求,需求其他功用就经过可拔插敞开,敞开一切组件后 Pod 大概 60 个左右。Rainbond 能支撑在 Mac M1 Docker Desktop 上装置,这个装置体会还蛮好的能够在本地开发,Rainbond 发动后 Pod 大概15个左右,内存占用1G 左右。

运用布置功用比照

KubeSphere

KubeSphere对接git仓库布置源码,支撑 Source-to-Image (S2I) 标准作业流将源码打包成镜像,并布置在 Kubernetes 集群中。支撑 Java、Python、Node,其他语言可经过自界说 S2I 完结源码构建。

开源云原生平台对比 KubeSphere vs Rainbond

KubeSphere选用 Binary-to-Image (B2I) 标准作业流将二进制打包成镜像,并布置在 Kubernetes 集群中。支撑经过 Jar、War、二进制

开源云原生平台对比 KubeSphere vs Rainbond

KubeSphere 支撑自界说继续构建的流水线

开源云原生平台对比 KubeSphere vs Rainbond

Rainbond

Rainbond支撑对接和整合 Gitlab、Github、Gitee、SVN,完结一致入口

开源云原生平台对比 KubeSphere vs Rainbond

Rainbond 的构建支撑主动识别源代码类型,支撑主动识别 Java Maven、Java Gradle、Java Jar、Java War、Python、PHP、.NetCore、Golang、NodeJS、Static HTML

开源云原生平台对比 KubeSphere vs Rainbond

每种识别的开发语言支撑设置环境相关信息,并主动构建成容器镜像。

开源云原生平台对比 KubeSphere vs Rainbond

KubeSphere Rainbond
源码布置 支撑 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 运用 Yaml、Helm Yaml、Helm
继续交给 支撑GitOps和自界说流水线步骤 支撑GitOps

KubeSphere 兼容Kubernetes系统,运用布置运用S2I和B2I,KubeSphere自界说流水线功用十分强壮,装备灵敏。Rainbond 运用布置不需求懂容器和Kubernetes,支撑常见的源代码,并主动识别和构建,运用十分简略。

微服务架构功用比照

KubeSphere

KubeSphere的微服务架构根据 Istio 完结,支撑微服务的流量可视化办理。

开源云原生平台对比 KubeSphere vs Rainbond

根据Jaeger的调用链剖析

开源云原生平台对比 KubeSphere vs Rainbond

Rainbond

Rainbond的微服务架构拓扑和服务编列,经过图形化的编列,增加组件之间的依靠联系,增加后也会注入服务之间的衔接信息等。拓扑图能够展现服务之间的联系,用颜色区别服务的状况等。

开源云原生平台对比 KubeSphere vs Rainbond

微服务实时功用剖析

开源云原生平台对比 KubeSphere vs Rainbond

KubeSphere Rainbond
服务网格支撑 Istio 内置、Istio、Linkerd
服务拓扑图 流量拓扑图 微服务依靠联系和服务状况展现
服务办理 熔断、限流 插件完结熔断断路器和限流
微服务可观测性 调用链剖析 经过插件扩展十分多可观测性: 功用剖析、pinpoint、skywalking、Jaeger等
微服务编列 代码编列 “迁延拽”的形式编列微服务依靠联系

KubeSphere 完全依靠 Istio 完结微服务架构,对Istio的功用支撑十分完好,KubeSphere弥补了Istio没有图形化的操控面板的缺乏,简化了 Istio 的上手难度,服务之间的拓扑图是根据流量走向主动生成的,能够直观的看到服务间流量。

Rainbond 的服务网格、服务办理、可观测性都是经过插件系统支撑的,传统运用敞开服务网格插件,立刻就能支撑微服务架构,服务办理和可观测性也只需求敞开相应插件,Rainbond内置了许多插件,有需求还能够自行扩展,能够将自己趁手的东西增加进来,别的,图形化手动编列服务是个特色,不必改代码就能够动态调整依靠联系。

运用商场功用比照

KubeSphere

内置运用商铺有 30 个运用可直接装置。

开源云原生平台对比 KubeSphere vs Rainbond

根据 Helm Chart 创立运用模板。

开源云原生平台对比 KubeSphere vs Rainbond

发布 Helm Chart 运用模板。

开源云原生平台对比 KubeSphere vs Rainbond

Rainbond

内置运用商铺有 90+ 运用可直接装置。

开源云原生平台对比 KubeSphere vs Rainbond

支撑用户将已经布置好的运用一键发布至运用商场,无需编写杂乱的YAML。能够一键发布运用模型内一切元数据,例如依靠联系、装备文件、存储信息等。

开源云原生平台对比 KubeSphere vs Rainbond

支撑运用离线导出导入,支撑导出 Rainbond App 运用包、Docker Compose 运用包、非容器环境运用包。

开源云原生平台对比 KubeSphere vs Rainbond

支撑根据 Rainbond 运用商场一键装置和一键晋级,晋级会包含运用模型内一切元数据,包括依靠联系等。

开源云原生平台对比 KubeSphere vs Rainbond

开源云原生平台对比 KubeSphere vs Rainbond

KubeSphere Rainbond
运用模板 Helm Rainbond 运用模版、Helm
运用发布 上传 Helm Chart 一键发布到运用商场
运用装置 一键装置 一键装置
运用晋级 全体晋级 部分晋级或全体晋级
离线导入导出 不支撑 离线导出多种格式包
内置运用 30 可用运用 90+ 可用运用

在运用商场这块Rainbond的功用比KubeSphere强壮许多,易用性也好许多。KubeSphere 在运用商场这块是根据标准的 Helm 完结的,在运用发布、装置、晋级这套流程里是依照标准的 Helm 运用标准完结,制造 Helm Chart 门槛比较高,功用也受限于Helm。Rainbond 的运用商场 界说了自己的运用模型标准,也支撑Helm Chart转成Rainbond的运用模型,运用发布支撑一键发布由几十个服务组成的运用,无需编写杂乱的YAML,离线导出是在企业软件交给场景十分有用的功用。

Kubenetes 多集群办理功用比照

KubeSphere

KubeSphere支撑对接多个 K8s 集群,支撑各种云厂商保管 K8s 集群以及私有云、混合云等。借助 KubeSphere的图形化 Web 操控台,用户能够办理底层的基础架构,例如增加或删去集群。能够运用相同的方式办理布置在任何基础架构上的异构集群。支撑跨集群运用分发,资源整合等。支撑经过图形化界面办理节点,监控集群状况、运用资源监控、集群告警和告诉等。

开源云原生平台对比 KubeSphere vs Rainbond

集群监控

开源云原生平台对比 KubeSphere vs Rainbond

Rainbond

支撑对接多个 K8s 集群,支撑各种云厂商保管 K8s 集群以及私有云、混合云等。支撑用户经过操控台增加或删去集群,支撑跨集群运用分发。

开源云原生平台对比 KubeSphere vs Rainbond

经过grafana扩展的集群和节点监控

开源云原生平台对比 KubeSphere vs Rainbond

KubeSphere Rainbond
多集群办理 支撑对接多个 K8s 集群 支撑对接多个 K8s 集群
集群办理 存储办理、节点办理 指令行办理
集群监控和可视化 丰厚的监控 经过grafana扩展的监控
多租户 从渠道人物、企业空间人物、项目人物三个维度界说多租户
支撑企业空间、项目进行资源限额,支撑多租户的逻辑阻隔、网络阻隔
从企业人物、团队人物两个维度界说多租户
支撑对团队的资源限额,支撑多租户的逻辑阻隔

KubeSphere 在多集群办理这块比Rainbond体会好,有丰厚的监控和可观测性,办理存储和节点在操控台全部完结,Rainbond在集群办理这块需求在指令行下办理,监控功用也弱一些。

运用运维功用比照

根本办理

KubeSphere

支撑对作业负载、容器组等级的办理,支撑作业负载的YAML修改、版别回滚、删去、重新创立等。

开源云原生平台对比 KubeSphere vs Rainbond

支撑对容器等级的日志查询过滤,支撑全局的日志查询过滤。

开源云原生平台对比 KubeSphere vs Rainbond

KubeSphere 选用 Kubernetes 原生形式进行运用拜访,可经过 NodePort、LoadBalancer、Ingress完结外部拜访。支撑扩展第三方负载均衡操控器以及 Ingress 操控器

开源云原生平台对比 KubeSphere vs Rainbond

开源云原生平台对比 KubeSphere vs Rainbond

Rainbond

支撑对运用、组件等级的办理,支撑运用批量发动、重启、更新、关闭、删去以及组件的操作,支撑运用和组件等级的环境变量、版别回滚等。

开源云原生平台对比 KubeSphere vs Rainbond

组件日志实时查看和挑选

开源云原生平台对比 KubeSphere vs Rainbond

Rainbond选用一致的运用网关,支撑装备HTTP路由规矩和HTTPS证书

开源云原生平台对比 KubeSphere vs Rainbond

由 Rainbond Gateway 一致封装拜访,支撑http、tcp、udp、grpc拜访组件。

KubeSphere Rainbond
根本办理 支撑对作业负载等级的办理 支撑对运用、组件等级的办理
日志 支撑容器组日志查询过滤和全局日志查询过滤 支撑组件日志查询过滤
监控 支撑作业负载等级的告警以及自界说监控图 支撑组件等级的监控以及图表,告警可扩展
伸缩 支撑手艺和主动 支撑手艺和主动
网关 支撑 NodePort、LoadBalancer 和 Nginx Ingress 由 Rainbond Gateway 一致封装拜访,支撑http、tcp、udp、grpc

关于根本办理来说 KubeSphere 是原生 K8s 的一些办理,比如删去Pod、修改YAML、装备环境、自定伸缩等,相同 Rainbond 展现的是运用级概念,比如:在K8s里没有关闭的概念,而在Rainbond里运用不必了直接关闭,想用了再发动,Rainbond做了许多运用级的概念转化,关于不动K8s的开发人员愈加容易接受。

KubeSphere 在网关这块相同也是遵从了 K8s 原生的形式,经过 NodePort、LoadBalancer、Ingress完结外部拜访,并经过图形化操作简化了 YAML 的操作,长处是能够扩展更多第三方 Ingress 操控器,例如 Traefik 等。Rainbond 网关则是经过 Rainbond Gateway 一致封装完结外部拜访,简化了用户的操作,一键敞开外部拜访,同时也能装备 HTTP 的路由规矩等,运用的体会十分好。

总结

整体来说,KubeSphere和Rainbond都很成熟,也都有很多开源运用用户,仅仅定位不同,所以适用场景也会不同。

KubeSphere 在兼容Kubernetes生态方面做的十分好,包装和整合了许多云原生的东西,并扩展了对Kubernetes和开源东西的办理才能,关于想要办理Kubernetes集群的系统办理员是个好的东西,熟悉Kubernetes的工程师也能够自行扩展KubeSphere的才能。但对开发人员来开发和办理运用来说,门槛比较高,需求学习和了解的概念十分多。

Rainbond 屏蔽了底层杂乱的技能,根据运用级笼统,在Rainbond的产品闭环里,体会十分好。这适用一般的开发人员开发和办理运用,关于不熟悉 Kubernetes用户快速起步也是一个不错的挑选,在企业软件交给上Rainbond十分拿手。但在对Kubernetes 的系统办理上功用有欠缺。

因为个人常识和经历有限,如有了解不对的地方,还请见谅。