2024 年 10 月 10 日,KubeSphere 开源社区激动地向大家宣布,KubeSphere v4(开源版)已正式发布,同时发布全新可插拔架构 KubeSphere LuBan。

相较于 KubeSphere 之前所有的版本,KubeSphere v4 可以说是有了颠覆性的变化。KubeSphere v4 是基于全新的云原生可扩展开放架构——KubeSphere LuBan 打造的云原生操作系统,对于 KubeSphere 而言具有非凡的意义。

KubeSphere LuBan

什么是 KubeSphere LuBan

鲁班(LuBan),是中国古代工匠的始祖。作为广大劳动人民智慧与创造力的象征,他通过工具提高劳动效率,将劳动者从原始繁重的任务中解放出来,使土木工艺呈现崭新面貌。KubeSphere 将全新微内核架构(KubeSphere Core)命名为 LuBan,借此寓意,期待为企业与开发者提供低成本、快速迭代和灵活集成的云原生产品,并带来专业、全能和极富创造力的使用与开发体验。

KubeSphere LuBan,是一个分布式的云原生可扩展开放架构,为扩展组件提供一个可热插拔的微内核。自此,KubeSphere 所有功能组件及第三方组件都会基于 KubeSphere LuBan,以扩展组件的方式无缝融入到 KubeSphere 控制台中,并独立维护版本,真正实现即插即用的应用级云原生操作系统。

KubeSphere LuBan 架构设计如下图所示。

为什么推出 KubeSphere LuBan

自 2018 年以来,KubeSphere 混合多云容器管理平台已发布过十几个版本,其中包括三个重大版本。为了满足用户需求,KubeSphere 集成了众多企业级功能,如多租户管理,多集群管理,DevOps,GitOps,服务网格,微服务,可观测(包括监控、告警、日志、审计、事件、通知等),应用商店,边缘计算,网络与存储管理等。

虽然 KubeSphere 的一站式容器解决方案极大地提升了用户的容器使用体验,但也带来了如下挑战:

  • 发版周期长:在发布新版本时,需要等待所有组件完成开发、测试并通过集成测试。

  • 响应用户不及时:由于各组件无法单独迭代,KubeSphere 发布后,对社区和用户组件反馈处理需要等待 KubeSphere 发布新版本后才能一并交付给用户,导致响应不够及时。

  • 代码耦合:尽管目前已能实现单独启用/禁用特定组件,但这些组件的前后端代码仍然耦合在一起,容易互相影响,架构上不够优雅。

  • 系统资源占用过多:部分组件默认启用,对于没有相关需求的用户来说,可能会占用过多的系统资源。

KubeSphere LuBan 的优势有哪些

  • 插件式的核心框架:支持独立开发和部署组件以扩展系统的功能。组件可以根据需求进行添加、升级或移除,而不需要修改核心框架的代码。

  • 全开放的基础 UI 组件库:组件对所有人开放,任何人都可以自由地访问、使用和扩展这些组件。用户根据自己的需求进行定制和扩展,以满足不同的设计和功能要求。

  • 前后端热更新、热修复:开发者可以在系统运行时对前端和后端进行实时更新和修复,提高了开发和运维的效率,同时保证了应用程序的可用性和用户体验。

  • 开放性扩展中心,生态共建:我们提供一个开放的平台,鼓励第三方开发者通过组件向系统添加新的功能或增强现有功能,在系统的框架内进行开发和集成,并将他们的组件与系统进行无缝连接,共同构建一个健康、繁荣的生态系统。

基于 KubeSphere LuBan 可以做什么

  1. KubeSphere 用户

KubeSphere 用户可以自由选择启用哪些 KubeSphere 扩展组件。同时还能将自己的应用无缝融入到 KubeSphere 控制台。此外,随着 KubeSphere 扩展组件生态的丰富,用户可以在 KubeSphere 扩展市场中自由选择更丰富的产品和服务,最终实现容器管理平台的千人千面的效果。

  1. KubeSphere 维护者

扩展机制使得维护者可以更聚焦 KubeSphere 核心功能的开发,并可使得 KubeSphere Core 更加轻量,版本发布节奏也可以加快。此外,因为扩展组件能够独立进行迭代,能够更及时地满足用户的需求。

  1. KubeSphere 贡献者

扩展机制的引入使得 KubeSphere Core 及 KubeSphere 其他扩展组件变得更加松耦合,开发也更加易于上手。

  1. 云原生应用开发商(ISV)或其他开源项目

众多 ISV 或其他开源项目可以低成本将产品或开源项目无缝融入到 KubeSphere 生态系统中。比如 Karmada/KubeEdge 的开发人员可以基于 KubeSphere LuBan 开发独立的 Karmada/KubeEdge 控制台。

KubeSphere v4 简介

KubeSphere v4,是 KubeSphere 团队打造的全新云原生操作系统,不仅继承了之前版本的企业级资源与业务管理、一站式云原生解决方案等强大功能,还能轻松实现应用的上下游联动、随时随地集成各类优质扩展组件,并提供无缝融合的业务能力与高度一致的产品体验。

其中内核部分(KubeSphere Core)仅包含系统运行的必备基础功能,而将独立的业务模块分别封装在各个扩展组件(Extensions)中。

新特性

  • 基于全新微内核架构 KubeSphere LuBan 重构
  • 内置 KubeSphere 扩展市场
  • 支持通过扩展中心统一管理扩展组件
  • 支持 UI、API 扩展
  • 支持通过 kubeconfig 一键导入 member 集群
  • 支持 KubeSphere 服务帐户
  • 支持动态扩展 Resource API
  • 支持添加集群、企业空间、项目到快捷访问
  • 支持通过容器终端进行文件上传和下载
  • 支持适配不同厂商的云原生网关(Kubernetes Ingress API)
  • 支持 API 限流
  • 支持在页面创建持久卷
  • 支持基于 OCI 的 Helm Chart 仓库

另外,KubeSphere 4.1.2 增加了默认的扩展组件仓库(见下文)。

同时修复了 KubeSphere 4.1.1 存在的以下问题:

  • 部分扩展组件页面白屏的问题
  • ks-core 卸载时部分资源残留的问题
  • K8s 1.19 环境无法安装的问题

其他变化请查看变更说明:

KubeSphere 扩展组件

KubeSphere 扩展组件用于扩展 KubeSphere 的平台能力,用户可在系统运行时动态地安装、卸载、启用、禁用扩展组件。

监控、告警、通知、项目网关和集群网关、卷快照、网络隔离等功能,将由扩展组件来提供。

目前,我们已经开源了 20 个扩展组件,分别是:

  • KubeSphere 网络
  • KubeSphere 应用商店管理
  • KubeSphere 服务网格
  • KubeSphere 存储
  • KubeSphere 多集群代理连接
  • KubeSphere 网关
  • DevOps
  • 联邦集群应用管理
  • OpenSearch 分布式检索与分析引擎
  • Grafana for WhizardTelemetry
  • Grafana Loki for WhizardTelemetry
  • WhizardTelemetry 数据流水线
  • WhizardTelemetry 平台服务
  • WhizardTelemetry 告警
  • WhizardTelemetry 事件
  • WhizardTelemetry 日志
  • WhizardTelemetry 监控
  • WhizardTelemetry 通知
  • Metrics Server
  • Gatekeeper

扩展组件仓库:https://github.com/kubesphere-extensions/ks-extensions/。

安装试用

特别说明:目前不支持从 3.4.x 版本直接升级到 v4 版本,需要先卸载原来的版本,再安装 v4 版本。

从 v4.1.1 升级到 v4.1.2,升级和安装部署可以使用以下命令:

helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.2.tgz --debug --wait

详细文档请参考:https://kubesphere.io/zh/docs/v4.1/02-quickstart/01-install-kubesphere。

参与贡献

正如前文所说,扩展机制的引入使得 KubeSphere Core 及 KubeSphere 其他扩展组件变得更加松耦合,开发也更加易于上手。

社区目前正在逐步发布开源的扩展组件,为各位用户提供更多的功能,让各位用户有更多的选择。同时,社区也非常欢迎各位开发者以及 ISV 参与进来,开发自己的扩展组件,共同丰富扩展组件生态。

目前,已经有一位参与开源之夏的学生贡献者张豈明,开发了一款扩展组件 Pod Status Analysis Tool,地址:https://github.com/kubesphere-extensions/ks-extensions-contrib/tree/main/pod-analyzer。

未来计划与展望

KubeSphere 愿景是打造一个以 Kubernetes 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和运维管理。

KubeSphere v4 将正式实现这个愿景,真正成为可插拔架构的产品,让用户可以选择自己需要的组件。

后续,我们将开源更多的扩展组件,为用户提供更多的选择。

后续文章将为大家详细讲解如何安装部署 KubeSphere v4,如何安装和使用扩展组件以及目前大家在使用中遇到的常见问题解答,敬请关注。

本文由博客一文多发平台 OpenWrite 发布!

KubeSphere v4 开源并发布全新可插拔架构 LuBan的更多相关文章

  1. SphereEx 登陆 ApacheCon Asia|依托 ShardingSphere 可插拔架构体系打造数据应用完整生态

    2021 年 8 月 8 日,ApacheCon 首次亚洲大会于线上正式闭幕.作为久负盛名的开源盛宴,本届 ApacheCon Asia 受到了海内外众多开源领域人士的关注. 作为 Apache 软件 ...

  2. Facebook发布全新JavaScript引擎:Hermes

    摘要: JS引擎开始升级了... 原文:技术栈中的爱马仕?Facebook发布全新JavaScript引擎:Hermes 作者:Carson_Ho Fundebug经授权转载,版权归原作者所有. 前言 ...

  3. CentOS停更;阿里发布全新操作系统(Anolis OS)

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 Linux系统对于Java程序员来说,就好比"乞丐手里的碗",任何业务都离不开他的身影,因为服务端的广泛使用,也因此衍生出了各种 ...

  4. Winjs – 微软开源技术发布的 JavaScript 组件集

    Winjs 是由微软开源技术的开发者推出的一组 JavaScript 组件,包括 ListView.ListView.Tooltip.DatePicker.Ratings 等等,帮助 Web 开发人员 ...

  5. 基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构

    基于Java图片数据库Neo4j 3.0.0发布 全新的内部架构 Neo4j 3.0.0 正式发布,这是 Neo4j 3.0 系列的第一个版本.此版本对内部架构进行了全新的设计;提供给开发者更强大的生 ...

  6. 如何把开源项目发布到Jcenter

    转载自:https://www.jianshu.com/p/f66972f0607a 首先我们应该注册一个JFrog Bintray的账号 Jfrog Bintray官网 这里我们可以注意到那个绿色的 ...

  7. 【转帖】IBM发布全新闪存解决方案,助企业存储架构做减法

    IBM发布全新闪存解决方案,助企业存储架构做减法 http://stor-age.zhiding.cn/stor-age/2020/0227/3124851.shtml 感觉 配图弄错了 FlashS ...

  8. 在.NET Core中三种实现“可插拔”AOP编程方式(附源码)

    一看标题肯定会联想到使用动态编织的方式实现AOP编程,不过这不是作者本文讨论的重点. 本文讨论另外三种在netcore中可实现的方式,Filter(过滤器,严格意义上它算是AOP方式),Dynamic ...

  9. Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)

    Oracle12c中的多宿主选项允许一个容器数据库(CDB)容纳多个独立的可插拔数据库(PDB).本文将展示如何配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB).1. 配置CDB中的实例 ...

  10. ConditionAlOnProperties实现可插拔?

    大家好,我是3y,一年CRUD经验用十年的markdown程序员‍常年被誉为职业八股文选手 我又又又又被吐槽了,随之而来,我的消息推送平台开源项目Austin又又又又更新啦,迭代自己的项目多是一件美事 ...

随机推荐

  1. 人形机器人(humanoid)(双足机器人、四足机器人) —— 硬件测试的方法

    硬件测试的方法: 硬件的稳定性.鲁棒性.为机器人设定好固有的执行策略,然后长时间的让机器人重复执行这些既定好的动作.该种测试方法主要测试硬件的设计是否合理,硬件在长时间的运行中是否可以稳定运行而不是出 ...

  2. 【转载】 Tensorflow如何直接使用预训练模型(vgg16为例)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/weixin_44633882/artic ...

  3. .NET 8 中利用 MediatR 实现高效消息传递

    前言 MediatR 是 .NET 下的一个实现消息传递的库,轻量级.简洁高效,用于实现进程内的消息传递机制.它基于中介者设计模式,支持请求/响应.命令.查询.通知和事件等多种消息传递模式.通过泛型支 ...

  4. 基于 token 的登陆系统的实现

    这是一段防爬代码块,我不介意文章被爬取,但请注明出处 console.log("作者主页:https://www.cnblogs.com/Go-Solo"); console.lo ...

  5. SMU Summer 2024 Contest Round 7

    SMU Summer 2024 Contest Round 7 Make Equal With Mod 题意 给定一个长度为 \(n\) 的数列 \(a\).你可以执行若干次操作,每次操作选择一个大于 ...

  6. 用whl文件安装Anaconda中的GDAL

      本文介绍在Anaconda环境下,基于.whl文件安装Python中高级地理数据处理库GDAL的方法.   在之前的文章中,我们介绍了基于conda install命令直接联网安装GDAL库的方法 ...

  7. C++开发分类

    1.基础架构 2.音视频领域 3.安全方向 4.Linux虚拟化 5.Qt客户端.上位机 6.游戏领域 7.嵌入式 8.量化券商 暂时对基础架构.音视频和安全方向较为感兴趣.

  8. Gluon 编译 JavaFx -> android apk

    Gluon 编译 JavaFx -> android apk 本文的内容属 在linux服务器上 搭建 Gluon 编译 android-apk 环境 这一篇文章直接跟着官网操作一次性成功 虚拟 ...

  9. 6.13API接口服务类漏洞探针

    ip地址解析:www.x.x.x.com, 对应网站目录为d:/wwwroot/xiaodi/ 而127.x.x.x,对应网站目录为d:/wwwroot/,可能存在网站备份文件zip,所以ip网址端口 ...

  10. KernelWarehouse:英特尔开源轻量级涨点神器,动态卷积核突破100+ | ICML 2024

    动态卷积学习n个静态卷积核的线性混合,加权使用它们输入相关的注意力,表现出比普通卷积更优越的性能.然而,它将卷积参数的数量增加了n倍,因此并不是参数高效的.这导致不能探索n>100的设置(比典型 ...