k8s网络插件详解(flannel)

news/2025/2/22 15:02:18

1、介绍

Flannel 是一个轻量级、易于配置的网络插件,旨在简化 Kubernetes 集群中 Pod 网络的管理。Flannel 的核心功能是提供一个虚拟的网络,允许每个 Pod 获取一个独立的 IP 地址,并实现不同节点间的 Pod 之间的通信

2、网络模式

  • vxlan(默认):基于 VXLAN(Virtual Extensible LAN)隧道协议,通过隧道将不同主机上的 Pod 网络连接起来。适合大部分场景,特别是在跨节点的环境下。

  • host-gw:这种模式依赖于主机间的路由表,而不需要额外的隧道。它适合于节点之间有直通路由的环境,例如同一数据中心内的节点。

特性vxlan(默认)host-gw
原理基于 VXLAN 隧道协议,将 Pod 流量封装在 VXLAN 数据包内,跨节点传输数据利用节点的路由表,通过主机间的直接路由进行通信
优点1、支持跨数据中心部署。 2、 网络封装灵活1、性能高,无需额外开销 2、维护简单
缺点1、性能开销较大,特别是对于大规模集群 2、配置和故障排查较复杂不适用于复杂网络环境或跨数据中心部署
适用场景跨数据中心或不同网络环境的集群,适用于没有直接路由的网络节点间网络有直接路由的环境(例如同一数据中心内)

3、原理详细

3.1 vxlan

在这里插入图片描述
发送端:节点上的pod通过虚拟网卡,连接到cni0的虚拟网桥上,然后cni0后交由 flannel.1 设备处理,进行VXLAN封包解包,然后从 eth0 发送。

接收端:Node2收到报文后,发现是一个VXLAN类型报文,交由 flannel.1 进行解包。根据解包后得到的原始报文中的目的IP,将原始报文经由 cni0 网桥发送给目标Pod。

3.2 host-gw

在这里插入图片描述
1、节点上的pod通过虚拟网卡,连接到cni0的虚拟网桥上。
2、pod向外通信的时候,到达cni0的时候,不再直接交给flannel.1由flanneld来进行打包处理了,而是直接借助于内核中的路由表,通过宿主机的网卡交给其他主机节点
3、对端节点查看内核中的路由表,发现目标就是当前节点,所以交给对应的cni0,进而找到对应的pod


http://www.niftyadmin.cn/n/5862417.html

相关文章

HTML 中的 Canvas 样式设置全解

在 HTML5 中&#xff0c;<canvas> 元素提供了一个强大的绘图接口&#xff0c;允许开发者通过 JavaScript 实现各种图形和动画效果。为了充分利用 <canvas> 的功能&#xff0c;理解其样式设置是至关重要的。本文将详细介绍如何在 HTML 中设置 <canvas> 的各种…

2025vue4.x全栈学习关键技术分析线路图

关键升级点说明‌&#xff1a; ‌编译优化‌ &#xff1a;Vue 4.x采用WASM编译提速300% ‌智能工具链‌ &#xff1a;Vite插件市场新增AI代码审查模块 ‌跨平台能力‌ &#xff1a;Uni-App支持原生ARCore/ARKit调用 ‌安全增强‌ &#xff1a;默认启用WebAuthn生物认证…

HTML第一节

一.HTML标签 注意&#xff1a;1.双标签是要包裹内容的 &#xff08;单标签单独记&#xff09; 二.HTML骨架 1.骨架规则 注意&#xff1a;1.title为网页的名字 2.VS code自动生成骨架 注意&#xff1a;1.先输入感叹号&#xff08;必须为英文&#xff09; 再按回车 三.标签间的…

Redis中有序集合(Sorted Set)常见命令详解

有序集合&#xff08;Sorted Set&#xff09;常见命令详解 有序集合&#xff08;Sorted Set&#xff0c;简称zset&#xff09;是Redis中一种非常特殊的数据结构&#xff0c;它结合了集合&#xff08;Set&#xff09;和有序列表&#xff08;Sorted List&#xff09;的特点。在有…

路由器的WAN口和LAN口有什么区别?

今时今日&#xff0c;移动终端盛行的时代&#xff0c;WIFI可以说是家家户户都有使用到的网络接入方式。那么路由器当然也就是家家户户都不可或缺的设备了。而路由器上的两个实现网络连接的基础接口 ——WAN 口和 LAN 口&#xff0c;到底有什么区别&#xff1f;它们的功能和作用…

DeepSeek安装部署笔记(一)

Ollamaopen-WebUI部署 DeepSeek安装部署笔记第一步 Ollama安装1.安装ollama&#xff1a;官网https://ollama.com/下载2.上面安装完成&#xff0c;在cmd命令行&#xff1a; 第二步 给DeepSeek添加OpenWebUI界面&#xff08;重点&#xff09;1.安装conda&#xff1a;用它来管理py…

DDD架构实战:用Java实现一个电商订单系统,快速掌握领域驱动设计

引言 你是否曾为复杂的业务逻辑感到头疼&#xff1f;是否在面对需求变更时感到无力&#xff1f;今天&#xff0c;我们将带你深入**领域驱动设计&#xff08;DDD&#xff09;**的世界&#xff0c;通过一个简单的电商订单系统实战项目&#xff0c;快速掌握DDD的核心思想与实现方…

『大模型笔记』详细对比GraphRAG与传统RAG!

详细对比GraphRAG与传统RAG! 文章目录 详细对比GraphRAG与传统RAG!要点最终内容1. GraphRAG的作用与应用场景2. GraphRAG与传统RAG的对比3. GraphRAG的工作原理4. GraphRAG如何提高准确性和提供完整答案5. GraphRAG在开发和维护中的优势6. GraphRAG对生产环境的影响7. GraphR…