Kmesh v1.0 正式发布

2025 年 1 月 23 日,Kmesh 团队正式发布了 Kmesh v1.0235。Kmesh 作为一款开源的服务网格解决方案,v1.0 版本在网络流量管理领域引入了多项重磅特性2。具体如下134:

  1. IPsec 加密通信:引入 IPsec 加密协议,将节点间流量加密为密文,确保数据传输的机密性与完整性,降低数据窃听和篡改风险。依赖 Kubernetes 的灵活性,利用 CRD 管理加密密钥,通过 KmeshNodeInfo CRD 存储节点信息,借助 Kubernetes api - server 进行节点间信息同步,在复杂集群环境中保障通信安全。
  2. 授权策略下沉:将更多 Authorization 功能下沉到 XDP 程序,支持基于 IP 的授权处理。在 TCP 建链时进行鉴权,通过 tail - call 机制串联 policy、rule、clause 和 match 四步处理。能在网络数据包进入内核协议栈最早阶段鉴权,减少上下文切换开销,提升数据包处理效率,丢弃未授权数据包,增强系统安全性和性能。
  3. 基于地域的负载均衡:具备基于地域的负载均衡能力,可将流量引导至距离用户最近的服务实例,降低延迟,提高服务可用性。提供 region、zone、subzone、nodename 和 clusterid 五种不同粒度的地域负载均衡策略,用户可灵活配置。在负载均衡策略更新期间,会逐一更新 endpointmap 中的 endpoint_key,确保服务连续性。
  4. 可观测性优化:优化了 Metrics 标签,使 destination_service 始终记录最终 destination 信息,让呈现的 metrics 更加合理易懂,提升可观测数据的清晰度和可用性。与 Kiali 结合,为用户呈现清晰直观的服务拓扑图,帮助用户全面了解服务依赖关系和通信状态,便于监控和诊断网络状况,快速识别性能瓶颈和故障点。
  5. 全模式无中断重启:Kernel - Native 模式提供流量重启无中断能力,重启后可优雅加载 eBPF map 和 Prog,无需重新注册服务。通过将 eBPF Prog 和 map pin 到内核目录中,与 kmesh - daemon 解耦,确保 Kmesh 关闭时也能治理流量,重启期间服务不中断。若有配置更新,重启后会从 istiod 中获取最新配置,实现信息同步。
  6. 熔断与限流功能:新增的熔断与限流功能在 Kernel - Native 模式下发挥作用,能在高并发场景下保障系统的稳定性,避免因流量激增影响用户体验,增强了系统在高负载下的稳定性。
  7. 适配 Istio 1.24:适配了 Istio 1.24,并通过严格的 e2e 测试确保稳定性,使用户可兼容使用 Istio 的最新特性,拓宽了 Kmesh 的应用范围。

Kmesh v1.0的授权策略下沉具体是如何实现的?

  1. 功能下沉至 XDP 程序:将更多的 Authorization 功能从原本较高层级下沉到 XDP(eBPF)程序中,使得授权处理能够在网络数据包进入内核协议栈的最早阶段进行,以此减少用户态与内核态之间的上下文切换开销,提升数据包处理效率。
  2. 基于 IP 的授权处理:支持基于 IP 的授权处理,在 TCP 建链时就开始进行鉴权操作,对每个试图建立连接的数据包进行检查,判断其源 IP 和目标 IP 等信息是否符合授权规则。
  3. tail-call 机制串联处理步骤:将 authorization 的处理分成 policy(策略)、rule(规则)、clause(条款)和 match(匹配)四步,通过 eBPF 的 tail - call 机制将这四步处理进行串联。按照顺序依次执行每一步的逻辑,前一步的处理结果会作为输入传递给下一步,直到完成整个授权判断过程。
  4. 丢弃未授权数据包:如果数据包在鉴权过程中没有通过,即不符合设定的授权策略,XDP 程序会直接丢弃该数据包,阻止 TCP 连接建立,从而避免未授权的流量进入系统,降低系统资源消耗,增强系统安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/962443.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetcode 2300. 咒语和药水的成功对数

题目如下 数据范围 示例 注意到n和m的长度最长达到10的5次方所以时间复杂度为n方的必然超时。 因为题目要求我们返回每个位置的spell对应的有效对数所以我们只需要找到第一个有效的药水就行,这里可以先对potions排序随后使用二分查找把时间复杂度压到nlogn就不会…

Android Studio 正式版 10 周年回顾,承载 Androider 的峥嵘十年

Android Studio 1.0 宣发于 2014 年 12 月,而现在时间来到 2025 ,不知不觉间 Android Studio 已经陪伴 Androider 走过十年历程。 Android Studio 10 周年,也代表着了我的职业生涯也超十年,现在回想起来依然觉得「唏嘘」&#xff…

互斥锁/信号量实现5个线程同步

互斥锁 实现同步 互斥锁保证在同一时刻,只有一个线程可以访问共享资源,从而实现了线程同步。 思路 1 创建互斥锁(1个) pthread_mutex_t mutex; 2 初始化互斥锁 所有线程开始执行前,pthread_mutex_init(&mutex, …

WordPress Web Directory Free插件本地包含漏洞复现(附脚本)(CVE-2024-3673)

免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将…

系统学习算法: 专题七 递归

递归算法简而言之就是当一个大问题拆分为多个子问题时,如果每个子问题的操作步骤都一样,就可以用递归,其中递归在递的时候要有结束条件,不能一直递下去,结束条件后就归 这里不建议学习递归的时候抠细节,还…

单片机基础模块学习——PCF8591芯片

一、A/D、D/A模块 A——Analog 模拟信号:连续变化的信号(很多传感器原始输出的信号都为此类信号)D——Digital 数字信号:只有高电平和低电平两种变化(单片机芯片、微控制芯片所能处理的都是数字信号) 下面是模拟信号和连续信号的区别 为什么需要进行模拟信号和数字信号之…

从未标记图像中生成有标记图像特征的半监督分割方法

今天看到一篇文章很有意思,给大家分享一下。现在传统半监督分割网络训练时往往有标注数据与未标注数据分开训练,导致模型不好。这篇文章作者提出了一个很有意思的想法。它通过通道注意力从未标记的特征中重新加载标记的特征。这篇文章是AllSpark。 大家感…

17.1 图像操作

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 17.1.1 Image类 Image类为源自 Bitmap 和 Metafile 的类提供功能的抽象基类。 Image的属性大多数是只读的: FrameDim…

实验七 JSP内置对象II

实验七 JSP内置对象II 目的: 1、掌握JSP内置对象的使用。 2、理解JSP的作用域 3、掌握session,application对象的使用 实验要求: 1、完成实验题目 2、要求提交实验报告,将代码和实验结果页面截图放入报告中 实验过程&#xff1a…

每日一博 - 三高系统架构设计:高性能、高并发、高可用性解析

文章目录 引言一、高性能篇1.1 高性能的核心意义 1.2 影响系统性能的因素1.3 高性能优化方法论1.3.1 读优化:缓存与数据库的结合1.3.2 写优化:异步化处理 1.4 高性能优化实践1.4.1 本地缓存 vs 分布式缓存1.4.2 数据库优化 二、高并发篇2.1 高并发的核心…

FFmpeg(7.1版本)的基本组成

1. 前言 FFmpeg 是一个非常流行的开源项目,它提供了处理音频、视频以及其他多媒体内容的强大工具。FFmpeg 包含了大量的库,可以用来解码、编码、转码、处理和播放几乎所有类型的多媒体文件。它广泛用于视频和音频的录制、转换、流媒体传输等领域。 2. F…

灵芝黄金基因组注释-文献精读109

The golden genome annotation of Ganoderma lingzhi reveals a more complex scenario of eukaryotic gene structure and transcription activity 灵芝(Ganoderma lingzhi)的黄金基因组注释揭示了更复杂的真核基因结构和转录活性情况 摘要 背景 普遍…

51单片机入门_01_单片机(MCU)概述(使用STC89C52芯片;使用到的硬件及课程安排)

文章目录 1. 什么是单片机1.1 微型计算机的组成1.2 微型计算机的应用形态1.3 单板微型计算机1.4 单片机(MCU)1.4.1 单片机内部结构1.4.2 单片机应用系统的组成 1.5 80C51单片机系列1.5.1 STC公司的51单片机1.5.1 STC公司单片机的命名规则 2. 单片机的特点及应用领域2.1 单片机的…

记忆化搜索(5题)

是什么? 是一个带备忘录的递归 如何实现记忆化搜索 1.添加一个备忘录(建立一个可变参数和返回值的映射关系) 2.递归每次返回的时候把结果放到备忘录里 3.在每次进入递归的时候往备忘录里面看看。 目录 1.斐波那契数列 2.不同路径 3.最…

Redis_Redission的入门案例、多主案例搭建、分布式锁进行加锁、解锁底层源码解析

目录 ①. Redis为什么选择单线程? ②. 既然单线程这么好,为什么逐渐又加入了多线程特性? ③. redis6的多线程和IO多路复用入门篇 ④. Redis6.0默认是否开启了多线程? ⑤. REDIS多线程引入总结 ①. Redis为什么选择单线程? ①…

本地运行大模型效果及配置展示

电脑上用ollama安装了qwen2.5:32b,deepseek-r1:32b,deepseek-r1:14b,llama3.1:8b四个模型,都是Q4_K_M量化版。 运行过程中主要是cpu和内存负载比较大,qwen2.5:32b大概需要22g,deepseek-r1:32b类…

新一代搜索引擎,是 ES 的15倍?

Manticore Search介绍 Manticore Search 是一个使用 C 开发的高性能搜索引擎,创建于 2017 年,其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重写了代码…

从0开始,来看看怎么去linux排查Java程序故障

一,前提准备 最基本前提:你需要有liunx环境,如果没有请参考其它文献在自己得到local建立一个虚拟机去进行测试。 有了虚拟机之后,你还需要安装jdk和配置环境变量 1. 安装JDK(以OpenJDK 17为例) 下载JDK…

MFC开发,给对话框添加垂直滚动条并解决鼠标滚动响应的问题

无论在使用QT或者MFC进行界面开发时,都会出现在一个对话框里面存在好多的选项,导致对话框变得非常长或者非常大,就会显现的不美观,在这种情况下通常是添加一个页面的滚动条来解决这个问题,下面我们就来介绍给MFC的对话…

(二)QT——按钮小程序

目录 前言 按钮小程序 1、步骤 2、代码示例 3、多个按钮 ①信号与槽的一对一 ②多对一(多个信号连接到同一个槽) ③一对多(一个信号连接到多个槽) 结论 前言 按钮小程序 Qt 按钮程序通常包含 三个核心文件: m…