Kmesh v1.1.0 正式发布!官网焕新升级

我们非常高兴地宣布 Kmesh v1.1.0 版本正式发布,这是 Kmesh 社区在过去三个月共同努力的成果。在此,我们特别感谢 LFX Mentorship 的贡献者,他们的贡献对推动此版本的发布至关重要。

在 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 版本包含了来自 14 位贡献者的 118 次代码提交,在此对各位贡献者表示由衷的感谢:

我们始终以开放中立的态度发展 Kmesh,持续打造 Sidecarless 服务网格业界标杆方案,服务千行百业,促进服务网格健康有序的发展。Kmesh 当前正处于高速发展阶段,我们诚邀广大有志之士加入!
参考资料
[1] Kmesh Release v1.1.0: https://github.com/kmesh-net/kmesh/releases/tag/v1.1.0
[2] Kmesh GitHub: https://github.com/kmesh-net/kmesh
[3] Kmesh Website: https://kmesh.net/

扫码添加社区小助手
回复 Kmesh 进交流群
【更多华为云云原生干货推荐】华为云云原生王者之路集训营
华为云云原生王者之路集训营
为帮助广大技术爱好者快速掌握云原生相关技能,华为云云原生团队与华为云学院联合 CNCF 开源软件大学启动人才培养计划,推出《华为云云原生王者之路集训营》,从云原生基础知识介绍到最佳实践讲解、底层原理和方案架构深度剖析,层层深入,满足不同云原生技术基础和学习目标人群的需求。本课程还精选数十个企业典型应用场景,作为学员上机实践案例,帮助学员将所学技术快速与企业业务相结合,服务于企业生产。点击免费参加华为云云原生王者之路集训营:
https://edu.huaweicloud.com/roadmap/cloudnative1.html 学习后记得小试牛刀,看看测评效果~ 华为云云原生王者之路-黄金课程测评 华为云云原生王者之路-钻石课程测评 华为云云原生王者之路-王者课程测评
评论