Kube-OVN 混合网络场景最佳实践

Kube-OVN 工作原理与应用场景 Kube-OVN 是一款 CNCF 旗下的企业级云原生网络编排系统,将 SDN 的能力和云原生结合,提供丰富的功能,极致的性能以及良好的可运维性。 Kube-OVN 在底层使用 Open Virtual Network(OVN)和 OpenVswitch 来实现网络的编排,并将其丰富的能力暴露给 Kubernetes 网络。 阅读详情

在近期的技术分享中,灵雀云技术专家刘梦馨与现场网络专家深入探讨了Kube-OVN在混合网络场景下的最佳实践。本次分享详细介绍了Overlay和Underlay网络的特点及其在实际应用中的混用场景,并展示了Kube-OVN项目如何通过自身的解决方案应对混合网络的挑战。以下是本次分享的详细内容回顾。

01Overlay 与Underlay 网络为什么要混用     

Overlay 网络

图片

Overlay网络是一种在Kubernetes中通过隧道技术实现的网络类型,允许容器拥有独立于宿主机的IP地址。这种网络提供了隔离性和灵活性,适用于需要安全隔离和自定义网络配置的场景。主流的K8s网络解决方案如Flannel、Calico和Cilium等都支持Overlay网络。

优点

  • 网络依赖低:通过隧道封装技术,容器网络与宿主机网络逻辑隔离,不依赖底层网络。

  • 配置灵活:可以自由配置网关、DNS等,易于管理。

  • 功能可拓展性:软件封装的网络,易于扩展。

  • 安全隔离:容器IP不直接暴露,增强安全性。

缺点

  • 额外的性能开销:封装和解封装操作增加延迟。

  • 运维复杂度增加:涉及两层网络,问题排查复杂。

  • 与底层网络的互通问题:需要额外配置实现互通。

Underlay 网络

图片

Underlay网络是一种逻辑上更简单的网络架构,通过直接桥接物理网卡,使容器网络与底层物理网络相连。容器的IP和MAC地址直接映射到物理网络,避免了复杂的封装和软件定义规则,提供了一种更直接和易于管理的网络解决方案。

优点

  • 性能好:直接使用物理网络,减少封装开销。

  • 天然与底层网络互通:无需额外配置即可实现互通。

  • 运维类似传统网络:易于传统网络管理员理解和管理。

缺点

  • 对底层网络有依赖:管理成本高,地址空间占用大。

  • 变更复杂:网络变更需要底层网络支持。

  • 功能可拓展性小:受限于物理网络。

  • 混部场景:Overlay与Underlay混部

在Kubernetes环境中,根据应用的具体需求,往往需要同时采用Overlay和Underlay网络。对于不需要高性能但需要隔离的内部服务,Overlay网络提供了灵活性和安全性;而对于需要高性能和直接外部访问的应用,如数据库和中间件,Underlay网络则更为合适。这种混合网络模式正成为越来越多复杂应用场景下的部署趋势。

02混合网络存在的问题                               

Multus

Multus是由英特尔开源并由Kubernetes社区托管的多网络平面管理工具。它扩展了Kubernetes的CNI,允许Pod配置多块网卡和多个IP地址,尽管K8s最初设计时只支持单网卡。

图片

Multus的两种模式

  • 多网卡模式:Pod可以配置多个CNI插件,实现多网卡。主网卡(如eth0)提供主要网络连接,而附属网卡(如net0, net1)通过CRD添加,支持额外的网络连接需求。

  • 单网卡模式:Pod只有一块网卡,但可以选择使用不同的CNI插件来管理其网络连接,尽管只有一个物理网卡,但可以利用不同的网络策略和配置。

1、多网卡

图片

优点

  • 网络需求满足:每个容器都可以访问Overlay和Underlay网络。

  • 实现互通:每个Pod的两块网卡使得业务能够同时访问Overlay和Underlay网络,实现网络互通。

缺点

  • 地址资源浪费:无论业务是否需要,每个Pod都会被分配两块网卡和两个地址,导致地址资源的浪费。

  • 服务发现和安全策略问题:K8s的网络相关概念如Service、DNS域名、Network Policy等只针对第一块网卡,导致服务发现和安全策略存在隐患。

  • 额外监控管理复杂度:需要在两个网卡上进行监控,增加了管理的复杂性。

  • 应用感知问题:应用可能需要感知多网卡的存在,并进行相应的调整,增加了应用层面的复杂性。

多网卡相关辅助项目

在Kubernetes社区中,为了应对多网卡环境带来的挑战,各个组织正在推进一些辅助项目。其中包括一个名为multi-networkpolicy的API,这是一个早期的API,专门设计用于处理多网卡情况下的网络策略,提供了通过IP table和TC(Traffic Control)的样例实现。此外,还有一个多网卡服务发现项目,虽然目前维护不活跃,但其基础功能仍然可以满足基本需求。对于已经部署多网卡并需要网络策略或服务发现功能的用户,这些项目提供了可行的解决方案。

例如:

  • multi-networkpolicy API:

    https://github.com/k8snetworkplumbingwg/multi-networkpolicy

  • multi-networkpolicy-iptables

  • multi-networkpolicy-tc

  • multi-service:

    https://github.com/k8snetworkplumbingwg/multus-service-archived

2、单网卡

图片

优点

  • 应用无感知:Pod只有一块网卡,简化了网络配置,应用不需要感知复杂的网络设置。

  • 兼容性:兼容原生的Service和NetworkPolicy,无需额外配置。

  • 资源节省:节约Underlay的IP资源,简化了资源管理。

缺点

  • 互通性问题:Underlay和Overlay之间的Pod无法直接互通,需要额外配置。

  • 管理复杂度:需要管理多个网络插件,增加了复杂性。

03Kube-OVN的解决方案                           

Kube-OVN简介

Kube-OVN是灵雀云在2019年开源的网络项目,利用成熟的OVS(Open vSwitch)技术作为数据平面的基础,并结合Kubernetes原生设计,针对企业级容器网络的需求开发。该项目通过整合OVN(Open Virtual Network)的逻辑路由器和逻辑交换机,构建了一个灵活的SDN网络,支持Overlay和Underlay网络的集成。

Kube-OVN解决方案

Kube-OVN的解决方案通过以下方式实现Overlay和Underlay网络的互通:

  • 网络实现:Overlay网络通过逻辑交换机与逻辑路由器相连,形成SDN网络;Underlay网络则通过逻辑交换机与物理交换机桥接,实现数据平面的直接传输。

  • 互通策略:通过在Underlay网络中创建逻辑端口并连接到Overlay的逻辑路由器,实现网络互通。同时,在逻辑路由器上配置路由规则,区分访问Overlay和非Overlay网络的流量。

  • 默认网关设置:在Underlay网络的Pod中,设置默认网关指向与逻辑路由器相连的端口,确保流量正确路由。

  • 简化配置:避免了复杂的NAT和额外路由配置,通过逻辑路由器的规则实现直接互通。

图片

Kube-OVN方案优点

  • 应用无感知,兼容原生Service和NetworkPolicy。

  • 节约IP资源,一套网络插件同时实现Overlay和Underlay。

  • 实现了Overlay和Underlay的互通,避免了额外的NAT和路由配置。

- END - 

7-1 Overlay与Underlay通信总结 网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现计算机与计算机之间的通信。Overlay与Underlay通信区别在于:underlay就是底层承载网,overlay就是基于底层网络互联互通的基础加上隧道技术去构建一个虚拟的网络,例如VPN隧道组成的网络就是overlay网络。Underlay的核心是底层的网络,Overlay的核心是上层的打隧道(tunnel)。 阅读详情

相关推荐

什么是Overlay网络?Underlay 网络 vs. Overlay网络

聊聊Underlay、Overlay网络 Underlay 网络 vs. Overlay网络 最近因为工作原因学习了overlay与underlay网络的知识,参考了什么是Overlay网络做出一些自己的总结。 什么是Underlay网络,Overlay网络? Underlay网络是由各类物理设备构成,通过使用路由协议保证其设备之间的IP连通性的承载网络。 Overlay网络是通过网络虚拟化技术,在同一张Underlay网络上构建出的一张或者多张虚拟的逻辑网络。不同的Overlay网络虽然共享Underla

dpdpdppp的博客 1万+

什么是underlay和overlay?

1 什么是underlay和overlay? 常规解释: underlay: 现实的物理基础层网络设备。-数据中心基础转发架构的网络。 以太网最初设计的时候就是一个分布式的网络架构,没有中心控制节点,网络中的节点通过协议传递学习网络的可达性信息。 underlay就是数据中心场景的基础物理设施,保证任何两个点路由可达,其中包含了传统的网络技术。 overlay:一个基于物理网络之上构...

3万+

机器学习——笔记整理(原理、python代码)——反反复复,出精活!

回顾知识,检查自我,开拓新域。 机器学习1.监督学习 机器学习简介: 机器学习是实现人工智能的手段,其主要研究内容是如何利用数据或经验进行学习,改善具体算法的性能。 多领域交叉,涉及概率论、统计学,算法复杂度理论等多门学科 广泛应用于网络搜索、垃圾邮件过滤、推荐系统、广告投放、信用评价、欺诈检测、股票交易和医疗诊断等应用。 机器学习分类: 机器学习一般分为下面几种类别 监督学习 ( Supervised Learning) 无监督学习 ( Unsupervised Learning) 强化学习(

weixin_45666566的博客 6488

kube-OVN总体架构

本文档将介绍 Kube-OVN 的总体架构,和各个组件的功能以及其之间的交互。总体来看,Kube-OVN 作为 Kubernetes 和 OVN 之间的一个桥梁,将成熟的 SDN 和云原生相结合。 这意味着 Kube-OVN 不仅通过 OVN 实现了 Kubernetes 下的网络规范,例如 CNI,Service 和 Networkpolicy,还将大量的 SDN 领域能力带入云原生,例如逻辑交换机,逻辑路由器,VPC,网关,QoS,ACL 和流量镜像。Kube-OVN 的组件可以大致分为三类:该类型组件

任我行的博客 3763

STM32N6:MCU+NPU架构如何重塑边缘AI部署新范式

STM32N6作为业界首款MCU+NPU架构的通用微控制器,通过集成600 GOPS算力的NPU与800MHz Cortex-M55内核,实现了边缘AI部署的革命性突破。该方案在工业视觉和智能家居等场景中,以超低功耗和成本提供实时AI处理能力,性能较传统MCU提升超100倍,重塑了边缘智能设备的设计范式。

g8f9d0s1a2的博客 1292

保姆级教程:在Win10/Win11上搞定AppScan 10.0.0安装与许可证激活(含常见报错解决)

本文提供AppScan 10.0.0在Win10/Win11上的详细安装与许可证激活指南,涵盖环境准备、分步安装、文件替换技巧及常见报错解决方案。通过专业的安全测试工具部署实践,帮助用户高效完成安装并避免常见陷阱,提升Web应用安全扫描效率。

weixin_30800987的博客 425

浅谈Kube-OVN

Kube-OVN 是一款 CNCF 旗下的企业级云原生网络编排系统,将 SDN 的能力和云原生结合, 提供丰富的功能,极致的性能以及良好的可运维性。Kube-OVN可提供跨云网络管理、传统网络架构与基础设施的互联互通、边缘集群落地等复杂应用场景的能力支持,解除Kubernetes网络面临的性能和安全监控的掣肘,为基于Kubernetes架构原生设计的系统提供最为成熟的网络底座,提升用户对Kubernetes生态Runtime的稳定性和易用性。

小男孩儿的博客 4040

STM32串口DMA双缓冲机制实战:提升数据传输效率的终极方案

本文深入解析了STM32串口DMA双缓冲机制的核心原理与实战配置。通过对比传统中断方式,阐述了双缓冲如何实现数据接收与处理的“无缝接力”,从而在工业传感器数据采集等高负载场景下,将CPU占用率降至极低水平并彻底避免数据丢失。文章提供了基于标准外设库的详细配置步骤、中断处理逻辑及性能实测数据,是提升嵌入式系统串口通信效率和可靠性的终极方案。

weixin_29192365的博客 80

如何应对大规模虚拟网络性能瓶颈:分布式SDN架构实践

随着云计算和容器技术的快速发展,现代数据中心面临着前所未有的网络挑战。传统网络架构在应对大规模虚拟机迁移、多租户隔离、动态服务编排时,常常遭遇性能瓶颈、管理复杂性和扩展性限制。SDN Handbook中的OVN(Open Virtual Network)技术为我们提供了一套完整的解决方案,通过分布式架构和逻辑流表机制,实现了高性能虚拟网络的构建与管理。 ## 当遇到跨节点通信延迟时,如何优化流表

gitblog_00859的博客 467

物联网开发131 - Micropython ESP32 C3连接TB6600驱动42BYGH39步进电机

如何使用合宙ESP32 C3连接TB6600驱动42BYGH39步进电机,实现控制步进电机正反转和旋转指定角度等

zhusongziye的博客 2377

STM32G0——USB虚拟串口

STM32G0用cubeMX配置实现USB虚拟串口

阿昌 2321

Overlay网络与Underlay网络

在学习有关vxlan相关知识的时候,提到vxlan是一种overlay网络,于是便学习了一下相关的知识。 overlay VPN 提到overlay网络之前,就不得不提一下与其相关的VPN。VPN有两种,一种是点到点(peer-to-peer)VPN,另外一种则是overlay VPN。 两种VPN的区别主要体现在运营商所提供的网络(PN)和用户自己网络(CN)之间是否会产生影响: peer-to-peer VPN:用户自己的网络的任何改变都会影响到运营商所提供的网络。 overl

wang959512421的博客 7371

100天精通Oracle-实战系列(第33天)RHEL 7 安装 Oracle 12CR2 RAC 数据库

100天精通Oracle-实战系列(第33天)RHEL 7 安装 Oracle 12CR2 RAC 数据库

LuciferLiu_DBA 3451

总结 Underlay 和 Overlay 网络,在k8s集群实现underlay网络,网络组件flannel vxlan/ calico IPIP模式的网络通信流程,基于二进制实现高可用的K8S集群

1.总结 Underlay 和 Overlay 网络的的区别及优缺点 2.在 kubernetes 集群实现 underlay 网络 3.总结网络组件 flannel vxlan 模式的网络通信流程 4.总结网络组件 calico IPIP 模式的网络通信流程 扩展: 5.基于二进制实现高可用的 K8S 集群环境

weixin_42896216的博客 8798

[网络安全提高篇] 一一九.恶意软件动态分析经典沙箱Cape的安装和基础用法详解

这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文详细介绍恶意代码静态分析经典工具Capa的基础用法,以及批量提取静态特征和ATT&CK技战术,主要是从提取的静态特征Json文件中提取关键特征。这篇文章将详细讲解动态分析沙箱Cape,其是一个开源的自动恶意软件分析系统,通过自动运行和分析恶意软件,全面分析和提取恶意软件的关键特征。本文先介绍Cape沙箱的安装和基础用法,后续随着深入再分享。基础性文章,希望对您有帮助!

杨秀璋的专栏 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

学会underlay、overlay,再也不会迷迷糊糊了

Underlay:现实的物理基础层网络设备,数据中心基础转发架构的网络比如:南京某机房、其他机房的网络有出口路由器-核心交换机-接入交换机-服务器-存储-防火墙等安全设备搭建而成的物理架构。网络的各个设备之间必须通过路由协议来确保之间IP的连通性,除了云主机,其他大部分为Underlay流量。云产品尝尝是通过DNAT一对一映射,私网转公网,这样公网访问云上产品。Underlay网络可以是二层也可以是三层网络。二层网络通常应用于以太网,通过VLAN进行划分;

小杨学习云计算 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

KubeVirt使用Kube-OVN

安装 kube-ovn controller以及 cni 插件,包括组件 kube-ovn-controller kube-ovn-cni kube-ovn-pinger kube-ovn-monitor。安装 kube-ovn CRD,包括 ips subnet vlans provider-networks vpcs vpc-nat-gateways。在defaultvlan上,创建一个子网,这个子网作用的namespace为mail263,指定子网分配的物理网络地址段,物理网络网关地址。

weixin_48711696的博客 1204

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

underlay和overlay? & 传统网络和数据中心网络 ?

数据中心网络使用高级协议和技术,例如以太网、TCP/IP、VXLAN(虚拟可扩展局域网)、BGP(边界网关协议)、ECMP(等价多路径路由)等,以提供高可靠性、弹性和可伸缩性。:数据中心网络通常采用扁平化的拓扑结构,例如二层或三层的全互连网络,其中多个交换机(如 ToR、MoR 和 CoR)直接连接到彼此,以实现高带宽和低延迟的通信。:传统网络通常包含基本的安全措施,例如防火墙、访问控制列表(ACL)、VPN(虚拟专用网络)等,以保护网络免受潜在的威胁。,以满足分布式系统和应用程序的需求。

喝醉酒的小白 8413

Kube-OVN子网

子网是 Kube-OVN 中的一个核心概念和基本使用单元,Kube-OVN 会以子网来组织 IP 和网络配置,每个 Namespace 可以归属于特定的子网, Namespace 下的 Pod 会自动从所属的子网中获取 IP 并共享子网的网络配置(CIDR,网关类型,访问控制,NAT控制等)。在 Kube-OVN 中子网为一个全局的虚拟网络配置,同一个子网的地址可以分布在任意一个节点上。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aSnfoZgU-1670161299418

任我行的博客 1662

kube-ovn默认vpc

在对应节点和子网上创建的端口会添加到对应的端口组,并且添加了ovn的路由策略通过匹配报文的源ip地址所在的端口组来决定将报文发送到哪个节点的ovn0网卡,通过这种方式实现了分布式网关。join子网是默认vpc下用来管理node的子网,kube-ovn会在k8s的每个集群的节点上的br-int上创建一个ovn0网卡,用来实现默认vpc下pod与节点之间的互通,并且实现默认vpc下的网关功能。ovn-default是ovn-cluster下的默认子网,在创建pod时没有指定子网时会使用这个默认子网的ip。

sun的博客 1449

Kube-OVN组件

Kube-OVN, a CNCF Sandbox Project, bridges the SDN into Cloud Native. It offers an advanced Container Network Fabric for Enterprises with the most functions, extreme performance and the easiest operation.

Kason_iWiki 2235

kube-ovn自定义vpc

创建一个自定义vpc,每创建一个vpc,kube-ovn会创建一个ovn逻辑路由器,在vpc中定义的staticRoutes会被添加到ovn逻辑路由器上,下面vpc定义的静态路由是将所有的报文的nexthop到10.0.1.254,10.0.1.254是vpc内部子网的一个ip,是vpc的网关ipkind: Vpcmetadata:spec:- ns1在自定义vpc下创建了一个子网和一个podmetadata:name: net1spec:- ns1---kind: Pod。

sun的博客 1731

kube-ovn源码分析

以kubesphere部署的kubernetes为例(使用ovn网络组件),其中ovn相关服务如下。

xiyanxiyan10的专栏 1386

Kube-OVN 使用教程

Kube-OVN 使用教程 项目地址:https://gitcode.com/gh_mirrors/ku/kube-ovn 项目介绍 Kube-OVN 是一个连接 SDN 和云原生领域的项目,它利用 OVS/OVN 在 SDN 领域的成熟能力,将丰富的网络虚拟化功能带入云原生空间。Kube-OVN 支持多种网络管理功能,如子网管理、静态 IP 分配、分布式/集中式网关、底层/覆盖层混合网络、VPC...

gitblog_00661的博客 1501

探索 Kubernetes 网络新边界:Kube-OVN

是一个针对 Kubernetes 集群的开放源码网络插件,由阿里云的 ALauda 团队开发并维护。它旨在提供一种简单、高性能和可扩展的方式来管理集群内的网络策略,以满足现代云原生应用的需求。 ## 技术分析 ### 设计理念 Kube-OVN 基于 OpenVSwitch(OVS)构建,充分利用了 OVS 的强大功能,并与 Kubernetes API 对接,使得网络配置能够动态跟随 Ku...

gitblog_00085的博客 742

Kube-OVN:云原生时代的网络虚拟化解决方案

Kube-OVN:云原生时代的网络虚拟化解决方案 kube-ovn一个基于OVN(Open Virtual Networking)的开源项目,提供虚拟网络解决方案。 - 功能:网络管理、容器网络、虚拟网络等。 - 特点:基于OVN;支持多种网络插件;高度可扩展;易于使用。项目地址:https://gitcode.com/gh_mirrors/ku/kube-ovn 在云原生技术的浪潮中,...

gitblog_00063的博客 779
上一篇: 灵雀云(Alauda)提名Gartner中国基础设施战略技术成熟度曲线代表供应商
下一篇: ALB使用指南|深入探究 lj-lua-stacks:如何生成 Lua 代码级别的火焰图?
灵雀云
博客等级 码龄9年 439粉丝 205原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值