本文分享自华为云社区《Kmesh进入CNCF 云原生全景图》 ,作者:云容器大未来。

近日,Kmesh 正式进入 CNCF 云原生全景图,位于 Service Mesh 类别下。

CNCF Landscape 在云原生实践过程中的每个环节帮助用户了解有哪些具体的软件和产品选择,Kmesh 进入 CNCF Landscape,成为了 CNCF构建云原生服务网格最佳实践中的一环。

Kmesh:业界首个内核级Sidecarless流量治理引擎

eBPF和Sidecarless是服务网格的未来

近年来服务网格逐步流行,但sidecar架构在资源开销、升级部署、时延等方面仍存在挑战,如何消减代理开销,构建sidecarless的服务网格已成为业界共识。

Kmesh从立项之初,就瞄准网格痛点问题,创新性的提出业内首个内核级sidecarless流量治理引擎,通过eBPF + 可编程内核技术将L4~L7治理下沉OS,治理过程无需经过代理组件,实现服务网格内服务通信路径多跳变一跳,彻底消除代理开销,真正实现网格治理sidecarless化。

Kmesh架构图

Kmesh优势

  • 高性能

    内核中原生支持 L4~L7 流量治理功能,网格内微服务转发时延降低60%,微服务启动性能提升40%;

  • 低开销

    微服务中无需部署sidecar,服务网格数据面开销降低70%;

  • 高可用

    内核流量治理不会截断连接,组件升级、重启完全不影响业务已有连接;

  • 零信任网络

    支持基于内核mTLS构建零信任网络;

  • 安全隔离

    基于eBPF的虚机安全,且具备cgroup级治理隔离;

  • 灵活治理模式

    除了全内核治理形态,Kmesh还支持四七层治理分离架构,内核eBPF和waypoint组件分别处理L4和L7流量,允许用户逐步采用Kmesh,从而实现从无网格->安全L4治理->L7治理的平稳过渡;

  • 平滑兼容

    与Istio无缝集成,支持xDS协议标准。目前同时支持Istio API和Gateway API,可以与现有sidecar协同工作。

为什么选择Kmesh

Kmesh首先是一种Sidecarless的网格架构模型,目前Sidecarless模式广受欢迎。无论是Istio社区还是Cilium社区都在在采用这种架构模型,另外广大用户非常认可Sidecarless。与Sidecar相比,Sidecarless没有资源占用的开销,同时解耦应用和代理的生命周期,并且打破一一绑定的关系,部署、维护更加简单。

Kmesh创新性的采用eBPF技术在内核态进行流量治理,使得流量的治理随流进行。好处是不会截断业务的连接,大大减少了流量路径上的连接数,进而降低应用访问的时延。

在用户态进行流量治理的一个比较大的弊端是组件的升级会导致业务的流量受损,Kmesh通过可编程内核技术,完好的避开了这一点。目前Kmesh这方面具有业界压倒性的优势,我们充分看到了eBPF的无限可能,未来基于eBPF可以进行更多的网络创新。

Kmesh还提供了另一种高级的模式,通过四七层分离,提供丰富的L7治理功能。四七层分离能够提供更加细粒度的物理隔离,不同租户,不同命名空间或者不同的服务均可以划分,独享七层代理waypoint。waypoint还可以根据业务流量,进行动态扩缩容,方便提供全托管。我们看到waypoint不同于传统的中心式网关,不存在单点故障。

由此,我们坚定的认为未来Sidecarless模式的理想架构,一定是eBPF技术和waypoint组合,既要减少资源消耗,又要降低时延。在节点上通过eBPF进行L4和简单的L7流量治理,至于高级的、复杂的七层协议则转发到waypoint治理。

加入社区贡献

Kmesh由华为发起, openEuler社区孵化,当前作为独立项目在GitHub托管,为用户提供极致性能的流量治理技术方案。

华为是中国最早参与服务网格的厂商,早在2018年华为就开始投入Istio社区,常年在Istio社区贡献保持亚洲第一,并且自首届以来持续拥有社区Steering Committee席位。

华为在服务网格领域的探索历程

我们希望借助在Istio社区长期的积累,始终以开放中立的态度发展Kmesh,打造Sidecarless服务网格业界标杆方案,服务千行百业,促进服务网格健康有序的发展。Kmesh当前正处于高速发展阶段,我们诚邀广大有志之士加入!

Kmesh社区地址:https://github.com/kmesh-net/kmesh

CNCF云原生全景图

Cloud Native Computing Foundation,云原生计算基金会(以下简称CNCF)是一个开源软件基金会,它致力于云原生(Cloud Native)技术的普及和可持续发展。云原生技术通过一系列的软件、规范和标准帮助企业和组织,在现代的动态环境(如公共云、私有云和混合云)中构建和运行敏捷的、可扩展的应用程序。

CNCF 发布了云原生全景图(CNCF Landscape),旨在帮助企业和开发人员快速了解云原生体系的全貌,帮助用户选择云原生实践中的恰当的软件和工具,因此受到广大开发者和使用者的关注和重视。

参考链接

[1]CNCF Landscape:https://landscape.cncf.io/

[2]Ambient Mesh介绍:https://istio.io/latest/blog/2022/introducing-ambient-mesh/

[3]华为云ASM:https://support.huaweicloud.com/asm/index.html

[4]Kmesh快速上手:https://kmesh.net/en/docs/setup/quickstart/

点击关注,第一时间了解华为云新鲜技术~

Kmesh进入CNCF云原生全景图,实现网格治理sidecarless化的更多相关文章

  1. 重磅 | 腾讯云服务网格开源项目 Aeraki Mesh 加入 CNCF 云原生全景图

    作者 赵化冰,腾讯云工程师,Aeraki Mesh 创始人,Istio member,Envoy contributor,目前负责 Tencent Cloud Mesh 研发工作. 摘要 近日,腾讯云 ...

  2. 始于阿里,回归社区:阿里8个项目进入CNCF云原生全景图

    破土而出的生命力,源自理想主义者心底对技术的信念. 云原生技术正席卷全球,云原生基金会在去年KubeCon +CloudNativeCon NA的现场宣布: 其正在孵化的项目已达14个,入驻的厂家或产 ...

  3. Porter 进入 CNCF 云原生全景图,新版本即将发布!

    近日,KubeSphere 社区子项目面向物理机环境的负载均衡器 Porter 正式进入 CNCF Landscape.CNCF Landscape 在云原生实践过程中的每个环节帮助用户了解有哪些具体 ...

  4. 巨杉数据库加入CNCF云原生应用计算基金会,共建开源技术生态

    近日,巨杉数据库正式加入全球顶级开源社区,云原生应用计算基金会 (Cloud Native Computing Foundation,以下简称CNCF),成为CNCF基金会会员,是中国最早加入的开源云 ...

  5. CNCF官方大使张磊:什么是云原生?

    作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 编者说: 从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到 2018 年包括 Go ...

  6. 重磅!业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目

    摘要:4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目. 4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个 ...

  7. CNCF 宣布成立应用交付领域小组,正式开启云原生应用时代

    作者|赵钰莹 作为云原生领域的顶级开源社区, Cloud Native Computing Foundation (云原生基金会,以下简称 CNCF)近日宣布成立 Application Delive ...

  8. Kubernetes 入门必备云原生发展简史

    作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 "未来的软件一定是生长于云上的"这是云原生理念的最核心假设.而所谓"云原生",实际上就是在定义一条能 ...

  9. 直击KubeCon 2018 |云原生正在改变你的衣食住行

    云计算从不被看好到成长为势不可挡的技术潮流,仅仅用了十年的时间.如今“云原生”又被企业以及开发者奉为圭臬,并被认为是云计算的未来. 阿里云容器技术负责人易立认为云计算有三个阶段:云搬迁.云就绪和云原生 ...

  10. 产品对话 | 愿云原生不再只有Kubernete

    从2013年,云原生(Cloud Native)的概念由 Pivotal 的 MattStine 首次提出,到现在,其技术细节不断得到社区的完善.云原生逐渐演变出包括 DevOps.持续交付.微服务. ...

随机推荐

  1. K8s技术全景:架构、应用与优化

    本文深入探讨了Kubernetes(K8s)的关键方面,包括其架构.容器编排.网络与存储管理.安全与合规.高可用性.灾难恢复以及监控与日志系统. 关注[TechLeadCloud],分享互联网架构.云 ...

  2. 轻松上手Jackjson(珍藏版)

    写在前面 虽然现在市面上有很多优秀的json解析库,但 Spring默认采用Jackson解析Json. 本文将通过一系列通俗易懂的代码示例,带你逐步掌握 Jackson 的基础用法.进阶技巧以及在实 ...

  3. Go 语言数组基础教程 - 数组的声明、初始化和使用方法

    数组用于在单个变量中存储相同类型的多个值,而不是为每个值声明单独的变量. 声明数组 在Go中,有两种声明数组的方式: 使用var关键字: 语法 var array_name = [length]dat ...

  4. C++调用Python-2:调用Python函数,返回数字

    # mytest.py def hello(): print("this is test python print hello world") return 123 #includ ...

  5. 京东一面:如何在SpringBoot启动时执行特定代码?有哪些方式?

    引言 Spring Boot 提供了许多便捷的功能和特性,使得开发者可以更加轻松地构建强大.高效的应用程序.然而,在应用程序启动时执行一些初始化操作是至关重要的,它可以确保应用程序在启动后处于预期的状 ...

  6. HarmonyOS应用开发—资源分类与访问

     应用开发过程中,经常需要用到颜色.字体.间距.图片等资源,在不同的设备或配置中,这些资源的值可能不同. ● 应用资源:借助资源文件能力,开发者在应用中自定义资源,自行管理这些资源在不同的设备或配置中 ...

  7. HarmonyOS 3百机升级计划,来了!

    HarmonyOS 3规模升级来了! 为大家奉上百余款机型升级计划! 你的手机什么时候可以升级? 赶快下滑查看!

  8. RestfulApi 学习笔记——分页和排序(六)

    前言 分页和排序时一些非常常规的操作,同样也有一些我们注意的点. 正文 分页 先来谈及分页. 看下前端传递的参数. public class EmployeeDtoParameters { priva ...

  9. c# Mutex 互斥锁

    前言 互斥锁(Mutex) 互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它. 互斥锁可适用于一个共享资源每次只能被一个线程访问的情况. 正文 代码: static void Ma ...

  10. Oracle SQL 常用的将varchar数据处理成number的正则

    Oracle SQL 常用的数据处理正则 去除所有的空格 replace(t.dxmz,chr(32),'') 匹配非纯数字 not regexp_like(t.zgbs,'^[[:digit:]]* ...