当前位置: 首页 > news >正文

k8s中基于overlay网络和underlay网络的网络插件分别有哪些

在 Kubernetes 中,不同的网络插件会使用 overlayunderlay 网络来连接 Pod 和节点。以下是基于 overlay 网络underlay 网络的常见 Kubernetes 网络插件:

1. 基于 Overlay 网络的插件

这些插件通过隧道封装技术(如 VXLAN、GRE 等)在物理网络之上创建虚拟网络,实现跨主机的容器网络连接。

  • Flannel(VXLAN 模式):Flannel 是一种简单的 overlay 网络插件,支持 VXLAN 和 UDP 模式,常用于小型集群。
  • Calico(IPIP 模式):Calico 可以配置为使用 IP-in-IP 隧道模式,这样它可以作为 overlay 网络运行。Calico 的 IPIP 模式特别适合于需要跨子网通信的环境。
  • Weave Net:Weave 通过使用自身的封装协议(类似 VXLAN)实现 overlay 网络连接,提供自动发现、加密和高可用性。
  • Open vSwitch(OVS):OVS 支持多种封装技术(如 VXLAN、GRE),可以构建 overlay 网络。OVN(Open Virtual Network)是基于 OVS 的项目,用于在 Kubernetes 集群中构建 overlay 网络。
  • Cilium(VXLAN 模式):Cilium 是基于 eBPF 的网络插件,默认使用 VXLAN 作为 overlay 技术,可实现网络安全和流量监控。
  • Kube-router(BGP + Overlay):Kube-router 默认使用 BGP 实现 underlay,但也可以使用 overlay 配置来连接跨子网的节点。

2. 基于 Underlay 网络的插件

这些插件通常依赖于底层物理网络的路由,直接使用主机的网络进行通信,而不进行隧道封装。Underlay 网络插件适用于同一子网的主机间通信。

  • Calico(BGP 模式):Calico 使用 BGP 路由协议与物理网络交换路由信息,实现 Pod 间直接通信,而无需使用封装,是一种典型的 underlay 网络方案。
  • Kube-router:Kube-router 使用 BGP 协议与物理网络路由器交换路由信息,实现 Underlay 网络通信,不进行封装,直接将流量路由到目标节点。
  • DANM(Dual-Stack, No Overlay):DANM 是 Nokia 开发的多网络插件,支持直接使用物理网络(underlay)进行流量转发,尤其适合电信环境。
  • Macvlan:Macvlan 使用物理网络接口的 MAC 地址创建虚拟接口,使 Pod 可以直接通过物理网络通信,这种方式适用于需要低延迟和高性能的场景。
  • IPvlan:与 Macvlan 类似,IPvlan 允许 Pod 使用主机的 IP 地址,与物理网络直接通信。

3. 混合模式(Overlay + Underlay)

一些网络插件支持 overlay 和 underlay 混合配置,能够根据需求切换网络模式,提供更大的灵活性。

  • Calico + Flannel(Canal):Canal 是将 Calico 的网络策略控制与 Flannel 的 VXLAN overlay 网络结合的方案,可以在一个插件中支持 overlay 和 underlay。
  • Multus:Multus 是一个网络插件管理器,它允许 Kubernetes 中的 Pod 同时使用多个网络插件,可以将 overlay 网络和 underlay 网络结合应用。

总结

  • Overlay 网络插件适用于跨子网、跨节点通信的环境,提供灵活的网络隔离。
  • Underlay 网络插件适用于高性能和低延迟需求的环境,直接使用底层网络进行通信,尤其在不跨子网的情况下。

相关文章:

k8s中基于overlay网络和underlay网络的网络插件分别有哪些

在 Kubernetes 中,不同的网络插件会使用 overlay 或 underlay 网络来连接 Pod 和节点。以下是基于 overlay 网络和 underlay 网络的常见 Kubernetes 网络插件: 1. 基于 Overlay 网络的插件 这些插件通过隧道封装技术(如 VXLAN、GRE 等&#…...

一文详解java的数据类型

1. 题记 Java是一门对数据类型敏感的语言,本博文主要总结介绍java语言的数据类型。 2. java的数据类型 Java 的数据类型分为基本数据类型(Primitive Data Types)和引用数据类型(Reference Data Types)。 2.1 基本数…...

Flink API 的层次结构

Apache Flink 提供了多层 API,每层 API 针对不同的抽象层次和用途,使得开发者可以根据具体需求选择合适的 API 层次。以下是 Flink API 的层次结构及其简要说明:...

lua入门教程:math

在Lua中,math库是一个非常重要的内置库,它提供了许多用于数学计算的函数。这些函数可以处理各种数学运算,包括基本的算术运算、三角函数、对数函数、随机数生成等。结合你之前提到的Lua中的数字遵循IEEE 754双精度浮点标准,我们可…...

ROS2简介与Ubuntu24.04中安装指南

之前安装了一个版本,但是不愿意写blog,现在想想自己就是个沙子立个flag,每次配置项目,写流程blog ROS简介 ROS(Robot Operating System)是一个开源的机器人软件平台,提供了许多工具和库来帮助…...

命令行工具PowerShell使用体验

命令行工具PowerShell使用 PowerShell是微软开发的一种面向对象的命令行Shell和脚本语言环境,它允许用户通过命令行的方式管理操作系统。相较于传统CMD,PowerShell增加了面向对象的程序设计框架,拥有更强大的功能和扩展性。使用PowerShell可…...

MongoDB 详解:深入理解与探索

在当今的数据库领域,MongoDB 以其独特的特性和强大的功能,成为了众多开发者和企业的首选。本文将对 MongoDB 进行详细的介绍,包括其特点、应用场景、流程图以及源码分析。 一、MongoDB 概述 MongoDB 是一个基于分布式文件存储的开源数据库系…...

使用 Elasticsearch 构建食谱搜索(一)

作者:来自 Elastic Andre Luiz 了解如何使用 Elasticsearch 构建基于语义搜索的食谱搜索。 简介 许多电子商务网站都希望增强其食谱搜索体验。正确使用语义搜索可以让客户根据更自然的查询(例如 “something for Valentines Day - 情人节的礼物” 或 “…...

sealos部署K8s,安装docker时master节点突然NotReady

1、集群正常运行中,在集群master-1上安装了dockerharbor,却发现master-1节点NotReady,使用的网络插件为 Cilium #安装docker和harbor(docker运行正常) rootmaster-1:/etc/apt# apt install docker-ce5:19.03.15~3-0~u…...

使用vite+react+ts+Ant Design开发后台管理项目(五)

前言 本文将引导开发者从零基础开始,运用vite、react、react-router、react-redux、Ant Design、less、tailwindcss、axios等前沿技术栈,构建一个高效、响应式的后台管理系统。通过详细的步骤和实践指导,文章旨在为开发者揭示如何利用这些技术…...

Spring Boot实现多数据源连接和切换

文章目录 前言一、多数据源配置与切换方案二、实现步骤1. 创建多个 DataSource 配置类2. 创建 DataSource 配置类3. 创建动态数据源路由类4. 实现 DynamicDataSource 类5. 创建 DataSourceContextHolder 来存储当前的数据源标识6. AOP 方式切换数据源7. 自定义注解来指定数据源…...

发布 VectorTraits v3.0(支持 X86架构的Avx512系列指令集,支持 Wasm架构及PackedSimd指令集等)

文章目录 支持 X86架构的Avx512系列指令集支持Avx512时的输出信息 支持 Wasm架构及PackedSimd指令集支持PackedSimd时的输出信息VectorTraits.Benchmarks.Wasm 使用说明 新增了向量方法支持 .NET 8.0 新增的向量方法提供交织与解交织的向量方法YGroup3Unzip的范例代码 提供重新…...

详解如何创建SpringBoot项目

目录 点击New Project 选择依赖 简单使用SpringBoot 前面已经讲解了如何获取IDEA专业版,下面将以此为基础来讲解如何创建SpringBoot项目。 点击New Project 选择依赖 注意,在选择SpringBoot版本时,不要选择带SNAPSHOT的版本。 这样&#…...

IT架构管理

目录 总则 IT架构管理目的 明确组织与职责 IT架构管理旨在桥接技术实施与业务需求之间的鸿沟,通过深入理解业务战略和技术能力,推动技术创新以支持业务增长,实现技术投资的最大价值。 设定目标与范围 IT架构管理的首要目的是确立清晰的组织…...

Feign入门实践

引言 随着微服务架构的兴起,服务间的通信变得越来越频繁和复杂。为了简化服务之间的调用过程,提高开发效率和系统的可维护性,Spring Cloud 生态系统提供了多种解决方案,其中 OpenFeign 是一种声明式的 HTTP 客户端,它使…...

Leetcode 买卖股票的最佳时机 Ⅱ

使用贪心算法来解决此问题,通过在价格上涨的每一天买入并在第二天卖出的方式,累计所有上涨的利润,以实现最大收益。关键点是从第二天开始遍历,并且只要当前比前一天价格高,我们就在前一天买入然后第二天卖出去。下面是…...

书生大模型实战营-玩转HF/魔搭社区闯关任务

通过Github Codespace下载InternLM模型并运行 本篇博客是记录《书生大模型实战营第四期-玩转HF/魔搭/魔乐》章节的闯关任务从HF上下载模型文件,对实战营感兴趣的小伙伴也可以扫码报名哦。 一、通过模版创建Codespace环境 访问codespace 点击Jupyter Notebook 模版…...

混响(Reverb):原理、应用与发展趋势的深度解析

目录 引言1. 混响的基本原理2. 混响的应用3. 混响的技术实现4. 混响的未来发展趋势5. 总结 引言 混响(Reverb)是音频信号处理中的重要概念之一,在自然界和音频工程中都扮演着关键角色。从音乐制作到语音识别,从电影音效到虚拟现实…...

Java学习教程,从入门到精通,Java修饰符语法知识点及案例代码(23)

1.Java修饰符语法知识点及案例代码 Java修饰符用于改变类、方法、变量、接口等元素的行为和可见性。主要分为两大类:访问修饰符和非访问修饰符。 访问修饰符(Access Modifiers) public 提供最大的访问权限,任何类都可以访问。使…...

钉钉小程序使用getApp实现类型provide inject的功能 应用场景:解决页面同步子组件弹窗的滚动问题

前言:在开发钉钉小程序的时候 组件内部的弹窗滚动会带着视图同步滚动 所以需要在组件内部弹窗显示的时候禁用视图的scroll滚动 由于我组件封装的比较深 不可能逐级传递 dd也么有provide的语法 所以我使用的getApp 完成控制的效果 最终完美运行 觉得有帮助相互关注一下 后续会持…...

论文省心了!盘点2026年全网爆红的的降AI率平台

轻松降低论文AI率在2026年已不再是天方夜谭。2026年降AI率平台横空出世,实测提速效果炸裂,覆盖AI痕迹消除、文本改写润色、降重优化、学术合规检测四大核心场景,高效搞定毕业论文难题。 一、全流程王者:一站式搞定论文全链路 这类…...

别再手动算占空比了!手把手教你用TI C2000 EPWM互补输出驱动电机(附死区配置避坑指南)

从零到精通的TI C2000 EPWM电机驱动实战:死区配置与波形调试全解析 在电机控制领域,精确的PWM信号生成直接决定了系统性能和可靠性。传统的手动计算占空比方式不仅效率低下,还容易引入人为误差。TI C2000系列DSP内置的增强型PWM模块&#xff…...

如何通过手机号快速找回QQ账号:3分钟完成的终极指南

如何通过手机号快速找回QQ账号:3分钟完成的终极指南 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 还在为忘记QQ账号而烦恼吗?每次需要验证好友身份时都要翻遍通讯录?现在,通过phone2…...

Cosmos-Reason1-7B模型微调实战:基于领域数据提升专业问答效果

Cosmos-Reason1-7B模型微调实战:基于领域数据提升专业问答效果 想让一个通用大模型变成你所在领域的专家吗?比如,让它精通法律条文解读,或者能回答专业的医疗咨询。直接拿现成的Cosmos-Reason1-7B来用,效果可能差强人…...

Avalonia11 Canvas拖拽与动态渲染保姆级教程:从MVVM绑定到事件处理完整流程

Avalonia11 Canvas拖拽与动态渲染实战:构建高性能迷你地图导航系统 在复杂的图形界面应用中,迷你地图导航已经成为提升用户体验的标准配置。想象一下,当你在处理一张超大的设计图纸或地图时,如何快速定位到感兴趣的局部区域&#…...

Java GeoTools实战:5分钟搞定热力图生成与TIFF文件导出(附完整代码)

Java GeoTools实战:5分钟搞定热力图生成与TIFF文件导出(附完整代码) 热力图作为一种直观的数据密度可视化工具,在GIS开发中扮演着重要角色。本文将带你快速掌握使用Java GeoTools库生成热力图并导出为TIFF文件的核心技巧&#xff…...

5分钟搞定Netdata监控面板汉化:最新GitHub汉化包一键安装教程

Netdata监控面板极速汉化指南:从零到精通的完整解决方案 对于国内开发者而言,英文界面始终是技术工具使用中的一道隐形门槛。Netdata作为一款功能强大的实时监控工具,其全英文的仪表盘让不少运维人员望而却步。本文将带你彻底解决这一痛点&am…...

AI 创作者指南:06.AI 视频创作:脚本、镜头语言与自动化

第 6 篇|AI 视频创作:脚本、镜头语言与自动化 视觉DNA刚建好,你是不是已经开始用AI画封面、插图玩得停不下来了?😊 来,第二部分最后一篇——第6篇|AI 视频创作:脚本、镜头语言与自动化。 以前拍视频得找团队、剪半天,现在AI帮你从脚本到成片一键流水线。节奏和叙事才…...

智能配置黑苹果:三步快速部署OpenCore自动化工具终极指南

智能配置黑苹果:三步快速部署OpenCore自动化工具终极指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为黑苹果复杂的EFI配置而头疼…...

Python服务OOM频发真相:20年C Python内核开发者首曝智能体内存管理策略架构图(含perf+eBPF验证数据)

第一章:Python智能体内存管理策略架构总览Python智能体的内存管理并非简单复用CPython的引用计数与垃圾回收机制,而是构建在多层级抽象之上的协同式策略体系。该体系需同时满足短期对话上下文缓存、长期知识图谱嵌入存储、跨会话记忆检索以及隐私敏感数据…...