OpenYurt v0.7.0 版本解读:无侵入的跨网络域解决方案 Raven

简介: 新版本中重点发布 Raven 解决方案,该方案在对原生的容器网络方案无侵入的状态下,优雅的解决跨公网的云边,边边的 Pod 间通信问题,方便的满足了云边协同场景下对容器网络的诉求。同时在 OpenYurt v0.7.0 中,也完成对 EdgeX Foundry 的 LTS 版本(Jakarta)的支持,以及 K8s 版本 v1.22 的支持。

作者:陈锦赐、何淋波


北京时间 5 月 27 号,OpenYurt 发布 v0.7.0 版本。


新版本中重点发布 Raven 解决方案,该方案在对原生的容器网络方案无侵入的状态下,优雅的解决跨公网的云边,边边的 Pod 间通信问题,方便的满足了云边协同场景下对容器网络的诉求。同时在 OpenYurt v0.7.0 中,也完成对 EdgeX Foundry 的 LTS 版本(Jakarta)的支持,以及 K8s 版本 v1.22 的支持。


无侵入的单集群跨边缘容器网络打通方案 Raven


在 OpenYurt 集群中提供包括跨公网边-边、边-云之间的单集群容器网络联通能力,其主要技术原理是通过公网加密隧道让不同的边缘节点上的容器网络相互打通,从而实现跨边的业务流量或者管控流量的通信。并且兼容当前主流的容器网络解决方案(如 flannel,calico 等),即 NodePool 内的通信仍使用原生容器网络方案。


项目背景


在边缘计算中,边-边和边-云通信是常见的网络通信场景。对于 OpenYurt 项目,我们已经引入了 YurtTunnel 来应对边云协作中的运维和监控的网络问题。它提供了对边缘节点执行 kubectl exec/logs 并从边缘节点获取监控指标的功能。但是 YurtTunnel 解决的问题只是边云通信的一个子集,在 v0.7.0 版本以前还没有边-边、边-云容器网络通信的解决方案。


即在某些情况下,OpenYurt 集群中不同物理区域的 Pod 可能需要使用 Pod IP、Service IP 或 Service name 与其他 Pod 通信,虽然这些 Pod 位于单个 K8s 集群中,但它们处于不同物理区域(网络域)中无法直接通信。


设计理念及架构


Raven 项目从需求讨论,到方案设计,以及最后的落地实现等都是基于开源社区成员的协同下完成的,整体设计理念主要有:


  • 无侵入:对原生的 K8s CNI 网络无侵入,仅劫持跨边流量进行转发
  • 与主流的容器网络方案(如 flannel, calico)可无缝协同运行
  • 高安全性:确保跨公网通信的数据安全


同时 Raven 解决方案的架构如下图:


1.png


  1. Raven Controller Manager:标准的 Kubernetes 控制器,以 Deployment 的方式部署在部分云上节点中,负责监控边缘节点状态,为每一个边缘节点池选取一个跨边流量的出口作为 gateway node,并能够在当前 gateway node 失活的情况下完成 gateway node 的切换。所有的跨边流量都将由各个边缘节点池的 gateway node 完成转发。


  1. Raven Agent:以 DaemonSet 的方式部署,运行在集群的每一个节点,它根据每个节点的角色(gateway or non-gateway)在节点上配置路由信息或 VPN 隧道信息。


上述两个组件通过一个 Gateway CRD来交换配置路由和建立 VPN 隧道的必要信息,如图 2 所示:


2.png

image.gif

更多细节可以参看项目代码仓库:


  1. Raven Controller Managerhttps://github.com/openyurtio/raven-controller-manager
  2. Raven Agenthttps://github.com/openyurtio/raven


特点与优势


  1. 无侵入:对原生的 K8s CNI 网络无侵入,即对在同一边缘节点池的流量不进行劫持,复用集群本身的 CNI 能力


  1. 安全可靠:使用成熟稳定的 IPsec 技术对跨边流量进行加密


  1. 完善的兼容性:与主流的容器网络方案(如 flannel,calico)可无缝协同运行


  1. 高性能:Raven 在跨边流量的处理上会尽量利用边缘本身的网络能力,尽可能地创建边-边的 VPN 隧道,不会把所有的跨边流量都通过云上中心端转发


支持 EdgeX Foundry LTS 版本


EdgeX Foundry Jakarta 是第一个 LTS 版本,被广泛认为是一个产品版本。在 OpenYurt v0.7.0 中已经完成了 EdgeX Foundry Jakarta 版本的支持工作。由于 EdgeX Jakarta 版本切换到 API v2,因此 OpenYurt 优化了与 EdgeX 的适配逻辑,同时 CRD 也有部分优化。具体可以参照 [#30]


支持 Kubernetes v1.22 版本


OpenYurt 为适配 Kubernetes v1.22,主要工作包括: v1beta1.CSR 被资源移除以及 CSR.signerName 校验更新后,OpenYurt 中有申请证书的各组件做了对应适配。同时 Service Topology 特性适配 v1.EndpointSlice 资源的请求,以及云边隧道 YurtTunnel 针对 StreamingProxyRedirects featuregate 被移除的适配。具体参照 [#809]


支持 IPv6 网络


IPv6 网络首先需要 CNI 容器网络支持,在 OpenYurt 中主要 Yurthub 和 YurtTunnel 中涉及到网络配置,证书申请等相关处理完成相关适配。具体参考 [#842]


未来计划


OpenYurt v0.7.0 版本重点推出了跨网络域的解决方案 Raven,同时也推出了 EdgeX Foundry LTS 版本支持,K8s v.122 支持,IPv6 网络等多方向的能力。再次感谢来自 VMware,Intel,电信天翼云,深信服,新华智云,浙大,京东,美团,字节,阿里云等数十位同学的大力贡献。


目前 OpenYurt v0.8.0 版本开发正在稳步推进,同时为更好的支持社区发展,OpenYurt 社区成立了 ControlPlane, DataPlane,IoT 等 SIG 来协同社区 15+个项目。同时也欢迎有兴趣的同学来参与共建,共同探索一个稳定,可靠的无侵入云原生边缘计算平台的事实标准。


OpenYurt v0.8.0 版本的 roadmap 请关注:https://github.com/openyurtio/openyurt/blob/master/docs/roadmap.md


参考链接:


OpenYurt Release v0.7.0

https://github.com/openyurtio/openyurt/releases/tag/v0.7.0


OpenYurt v0.7.0 CHANGELOG

https://github.com/openyurtio/openyurt/blob/master/CHANGELOG.md#v070


OpenYurt v0.8.0 RoadMap

https://github.com/openyurtio/openyurt/blob/master/docs/roadmap.md#v080-roadmap


Gateway CRD

https://github.com/openyurtio/raven-controller-manager/blob/main/pkg/ravencontroller/apis/raven/v1alpha1/gateway_types.go


https://github.com/openyurtio/raven-controller-manager/blob/main/pkg/ravencontroller/apis/raven/v1alpha1/gateway_types.go


[#30]:

https://github.com/openyurtio/yurt-device-controller/pull/30


[#809]:

https://github.com/openyurtio/openyurt/pull/809


[#842]:

https://github.com/openyurtio/openyurt/pull/842


如果您对于 OpenYurt 有任何疑问,欢迎使用钉钉扫描二维码或者搜索群号(31993519)加入钉钉交流群。


3.png


此处,立即了解 OpenYurt 项目!


相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
5月前
|
小程序 前端开发
2025商业版拓展校园圈子论坛网络的创新解决方案:校园跑腿小程序系统架构
校园跑腿小程序系统是一款创新解决方案,旨在满足校园配送需求并拓展校友网络。跑腿员可接单配送,用户能实时跟踪订单并评价服务。系统包含用户、客服、物流、跑腿员及订单模块,功能完善。此外,小程序增设信息咨询发布、校园社区建设和活动组织等功能,助力校友互动、经验分享及感情联络,构建紧密的校友网络。
143 1
2025商业版拓展校园圈子论坛网络的创新解决方案:校园跑腿小程序系统架构
|
4月前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
|
传感器 运维 物联网
蓝牙Mesh网络:连接未来的智能解决方案
蓝牙Mesh网络:连接未来的智能解决方案
1777 12
|
6月前
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
|
6月前
|
小程序 UED
拓展校友网络的创新解决方案:校园论坛圈子小程序+跑腿+二手市场系统
这是一款基于小程序的校园跑腿服务平台,支持多种注册登录方式、下单支付、跑腿接单配送、订单跟踪评价及物流查询功能,并配备客服模块提升用户体验。系统包含用户、客服、物流、跑腿员和订单五大核心模块,功能完善。此外,平台还拓展了校友网络功能,如信息咨询发布、校园社区建设和活动组织等,旨在增强校友互动与联系,形成紧密的校友生态。
165 4
|
7月前
|
安全 网络安全 虚拟化
Hyper-V网络连接无响应解决方案
当Hyper-V虚拟机出现网络连接无响应时,可从以下方面排查:1) 检查物理网络连接,确保设备正常;2) 验证虚拟网络配置,包括虚拟交换机和网络适配器设置;3) 更新驱动程序以解决兼容性问题;4) 调整防火墙和安全软件设置;5) 重启相关服务和设备;6) 使用命令行工具诊断网络问题;7) 检查BIOS中虚拟化技术是否启用;8) 排查IP冲突和其他日志错误。综合以上步骤,可有效修复网络连接故障。
|
监控 安全 网络安全
云计算与网络安全:技术、挑战与解决方案
【8月更文挑战第30天】随着云计算技术的飞速发展,越来越多的企业和个人开始将数据和应用迁移到云端。然而,云计算的普及也带来了一系列网络安全问题。本文将探讨云计算中的网络安全挑战,包括数据泄露、恶意软件攻击和服务中断等,并介绍一些常见的网络安全技术和最佳实践,如加密、访问控制和安全监控等。最后,我们将讨论如何制定有效的网络安全策略,以保护云服务免受威胁。
|
8月前
|
监控 BI 网络安全
为何教育机构需要强大的网络安全解决方案
近年来,教育行业从传统课堂快速转向在线课程和虚拟教室,疫情加速了这一进程。然而,数字化转型也带来了网络安全风险。身份治理与管理(IGA)解决方案如ManageEngine的ADManager Plus,能有效保护教育机构免受网络攻击,确保数据安全、简化用户管理并实现合规性。通过自动化流程,它不仅提升了安全性,还减轻了IT管理员的工作负担,确保资源访问的无缝性和准确性。
151 11
|
11月前
|
存储 消息中间件 分布式计算
某全球领先网络解决方案提供商:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 的改造实践
某全球领先网络解决方案提供商早期架构面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot 、 Iceberg 及 Kyuubi 技术栈,依赖于 Doris 的实时数据湖能力及高性能 OLAP 分析能力,统一数据湖仓及查询分析引擎,显著提升了查询性能及系统稳定性,同时实现资源成本降低 30%。
274 8
某全球领先网络解决方案提供商:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 的改造实践
|
9月前
|
机器学习/深度学习 人工智能 运维
简化多云网络复杂度,谈谈F5多云解决方案的破局之道
简化多云网络复杂度,谈谈F5多云解决方案的破局之道
118 7

热门文章

最新文章