Kmesh v1.1.0 发布,基于 eBPF 和可编程内核的无 Sidecar 服务网格
Kmesh v1.1.0 版本已正式发布。
在 v1.0.0 的基础上,此版本对 Kmesh 的架构、可观察性和生态系统集成进行了重大改进。Kmesh 官方网站经过了全面的重新设计,提供了直观的界面和精简的文档,以增强用户和开发者的体验。此外,我们还重构了 DNS 模块并添加了长连接指标,从而能够更深入地洞察更多流量模式。
在 Kernel-Native 模式下,我们减少了对内核的侵入式修改。另外,我们使用全局变量替换 BPF 配置映射,以简化底层复杂性。与 Istio 1.25 的兼容性也经过了严格的验证,确保与该版本的 Istio 实现无缝互操作。值得注意的是,长期以来一直存在的 TestKmeshRestart E2E 测试用例不稳定问题,通过对底层 BPF 程序的长期调查和重构,已得到解决,标志着运行时可靠性的飞跃。
Kmesh v1.1.0 版本主要特性
网站全新改版
Kmesh 官方网站经过了彻底的重新设计,提供了更直观的用户体验,改进了文档,重新组织了内容层次结构,并简化了导航。在处理上一次迭代中的反馈时,我们专注于可以提升用户体验的关键领域。之前的界面存在一些可用性问题,偶尔会导致查找比较困难。我们的博客模块尤其需要关注,因为它的内容组织和视觉层次结构已经影响了内容的可发现性和可读性。从工程角度来看,我们认识到可以通过更好的组件组织和更系统的样式方法来改进代码结构,因为现有的实现随着时间的推移已经变得越来越复杂,难以维护。
为了解决这些问题,我们转向了 React 和 Docusaurus,这是一个对开发人员更加友好的现代文档框架。这使我们能够创建模块化组件,并通过可重用性消除冗余代码。 Docusaurus 提供专为文档和博客设计的内置导航系统,以及版本控制的文档功能。我们实现了文档的多语言支持,添加了高级搜索功能,并彻底重构了内容结构。这些举措显著提升了用户体验,使 Kmesh 网站对所有用户来说都更易于访问,也更具价值。
长连接指标
在此版本之前,Kmesh 仅在 TCP 连接终止和建立期间提供访问日志,其中包含有关连接的详细信息,例如发送和接收的字节数、数据包丢失、RTT 和重传次数。Kmesh 还提供特定于工作负载和服务的指标,例如发送和接收的字节数、丢失的数据包、最小 RTT 以及 Pod 打开和关闭的总连接数。这些指标仅在连接关闭后更新。
在此版本中,我们实现了 TCP 长连接的访问日志和指标,并开发了一种持续的监控和报告机制,可在长连接整个生命周期内捕获详细的实时数据。访问日志会定期报告,其中包含报告时间、连接建立时间、发送字节数、接收字节数、丢包率、RTT、重传次数和状态等信息。长连接还会定期报告发送字节数、接收字节数、丢包率和重传次数等指标。
DNS 重构
当前的 DNS 进程包含 CDS 刷新进程。因此,DNS 与内核原生模式深度耦合,无法在双引擎模式下使用。
在 1.1 版本中,我们重构了 Kmesh 的 DNS 模块。DNS 中循环遍历刷新队列的数据不再是一个包含 CDS 的结构,而是变成了一个域名,因此 DNS 模块不再关心 Kmesh 模式,只提供待解析的主机名。
BPF 配置映射优化
Kmesh 已删除专用的 kmesh_config_map BPF map,该map之前存储了全局运行时配置,例如 BPF 日志记录级别和监控开关。现在,这些设置通过全局变量进行管理。利用全局变量可以简化 BPF 配置管理,从而提高运行时效率和可维护性。
优化内核原生模式,减少对内核的侵入式修改
内核原生模式需要大量侵入式内核重构才能实现基于 HTTP 的流量控制。其中一些修改可能会对内核产生重大影响,这使得内核原生模式难以在实际产品中部署和使用。
为了解决这个问题,我们同步修改了内核原生模式下的内核以及相关的 ko 和 eBPF。通过本次版本的优化,在内核 5.10 中,内核修改限制为四个,在内核 6.6 中,内核修改减少为只有一个。最后一个修改将尽可能地被消除,最终目标是在原生版本 6.6 及以上版本上运行内核原生模式。
Istio 1.25 兼容性验证
Kmesh 已验证与 Istio 1.25 的兼容性,并在 CI 中添加了相应的端到端测试。Kmesh 社区负责在 CI 中对三个 Istio 版本进行验证,因此 Istio 1.22 的端到端测试已从 CI 中移除。
关键 Bug 修复
1. kmeshctl 安装waypoint错误:
https://github.com/kmesh-net/kmesh/issues/1287
2. TestKmeshRestart flaky问题:
https://github.com/kmesh-net/kmesh/issues/1192
Kmesh v1.1.0 发布说明:https://github.com/kmesh-net/kmesh/releases/tag/v1.1.0

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Redisson 3.48.0 发布,官方推荐的 Redis 客户端
Redisson 3.48.0现已发布,这是一个 Java 编写的 Redis 客户端,具备驻内存数据网格(In-Memory Data Grid)功能,并获得了 Redis 的官方推荐。 此版本更新内容如下: Feature 添加 retryDelay 和 reconnectionDelay 设置,允许定义延迟策略。可用实现: FullJitterDelay、EqualJitterDelay、DecorrelatedJitterDelay 和 ConstantDelay。默认值为 EqualJitterDelay 新增 Vector Set 对象 Spring Data Redis 3.5.0 实现 支持 Hibernate 7 Improvement RClusteredMapCacheeviction process优化 Fixed 如果syncStrategy = UPDATE,storeMode = LOCALCACHE的RLocalCachedMap可能会分配额外连接并错过更新 如果syncStrategy = UPDATE,storeMode = LOCALCACHE的R...
- 下一篇
👍JeeSiteV5.12.0 发布 Java+AI 低代码 Spring AI Vue3 微服务
升级内容 AI助手 升级 Spring AI 1.0.0-RC1、Chroma 1.0.0 等 新增 spring.ai.defaultPromptTemplate 默认问题回答模板参数 新增 AI 结构化输出、文本格式、JSON格式、Java对象格式、结合Tool Calling方式输出 优化 文章附件及内容中链接网址的读取代码逻辑,如果是 html 附件,则保留格式 优化 深度思考代码优化,对多模型 reasoning_content 为空或空字符串的时候的思考数据兼容 优化 向量库作为可选配置,可以不加载向量库 优化 ai stream 异步任务池参数定义 Vue 分离端版本 升级 Monorepo + Turborepo 模块化架构 新增 时区切换功能(登录页、语言切换下拉列表中操作) 新增 页签风格样式4 新增 HR 人力资源看板样式模板 新增 我的收藏菜单示例,仅在演示环境中显示 优化 字典数据列表组件,增加 dictType 组件属性参数,方便菜单中指定 优化 小屏幕下的体验,切换路由时且折叠菜单的时候不弹出菜单 优化 动态路由的菜单激活状态 优化 主题一级菜单使用圆角展...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS6,CentOS7官方镜像安装Oracle11G
- Mario游戏-低调大师作品
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7