k8s(二)

文章目录

  • 前言
  • 一、K8S 中 Pod 网络通信的三种情况
    • 1.1 同一nod节点中
    • 1.2 同一pod中的容器
    • 1.3 不同node节点上
  • 二、Flannel方案
    • 2.1 Flannel UDP 模式通信流程
    • 2.2 Flannel VXLAN 模式通信流程
    • 2.3 Flannel Host-gw 模式通信流程
  • 三、calico
  • 四、Flannel与calico的区别
  • 总结

前言

本文主要讲解k8s集群中pod网络通讯原理

一、K8S 中 Pod 网络通信的三种情况

1.1 同一nod节点中


同一node的每个pod都有自己独立的ip并且在同一网段,当pod1尝试访问pod2时,访问会通过网卡docker0进行转发到pod2,最终实现通讯。

1.2 同一pod中的容器

在前一篇博客我们了解到了pod中可以有很多个容器,而同一个pod中的所有容器都在同一个命名空间中,因此就相当于两个容器在同一个虚拟主机上,可以直接通过本地ip进行访问。

1.3 不同node节点上

这种相当于跨主机进行通信,由于外部ip互相不认识,因此这种通讯不能直接访问,跨主机方式进行通讯有两种方案,一种是Flannel另一种是calico。

二、Flannel方案

flannel方案又分为三种模式

2.1 Flannel UDP 模式通信流程


举例:container1(pod1)访问container2(pod2),pod1会将自己的ip与要通讯的目标(pod2)ip进行打包,发给网关,网关(cni)通过网桥发送给node1节点的网卡(eth0),网卡中的Flannel0再将网卡的ip与对端node2的网卡ip打包进入数据包中形成UDP包,然后通过宿主机网卡eth0将数据帧发送给对端node节点,node节点收到包后层层解包,先是拆出node2的ip,发现是找自己的就会继续拆包,拆出pod2的ip,然后会将包转发给pod2,最后pod2发现是找自己的就会拆数据包,提取里面的数据,实现互通。

2.2 Flannel VXLAN 模式通信流程


原理:podA1到podB2,pod1将自己的ip与对端pod2的ip和数据打包,形成数据包发送给网卡,网卡通过虚拟网桥cni将数据帧发送给Flannel1,flannel1给原始数据包加外层封装再发给node1的网卡,nod1的网卡ens160将自己的网卡ip与对端node2的网卡ip写入数据包中,同时将vxlan头部也加入到数据帧中,最后通过物理网卡ens160和vxlan隧道将数据帧快速的发送给对端网卡ens160,对端收到后,进行解包,发现是找自己的就会继续解包,发现要找podB2,就会将数据包转发给podB2。
特点:
1、转发速度快,通过vxlan进行数据帧转发。(与UDP的区别)
2、需要进行打包、解包

2.3 Flannel Host-gw 模式通信流程

原理:PodA1(10.244.1.2,Node A 的 Pod 子网)要访问 PodB2(10.244.4.3,Node B 的 Pod 子网),数据包从 Pod 的eth0发出,通过veth转发到 Node A 的cni0网桥。cni0发现目标 IP(10.244.4.3)属于 “10.244.4.0/24” 子网,查 Node A 的路由表,找到一条路径通往pod2,Node A 的ens160(物理网卡)直接将数据包发送到 Node B 的ens160,Node B 的ens160收到数据包后,查自己的路由表,发现 “10.244.4.0/24” 是自己的 Pod 子网,于是将数据包转发到 Node B 的cni0网桥,cni0将数据包通过veth转发到 PodB2 的eth0,PodB2 收到数据。
核心特点
1、无封装开销,性能最高(因为是纯路由转发);
2、Node 必须处于同一个二层网络(不能跨网段转发)。

三、calico


举例:pod1ip:10.244.1.2 pod2ip:10.244.2.3
原理:pod1访问pod2,pod1位于node1节点中,pod2位于node2节点中,pod将数据写入数据包发送给pod1的网卡eth0,eth0再通过网桥将数据包发送给node1节点的网卡,node1查找路由规则,BGP为node1找出转发的最佳路径,node1通过自己的物理网卡将数据包发送到对端的node2网卡,node2查找路由表发现有pod2后,将包发给pod2。

Calico 的核心思想
把每一台 Node 当成一台路由器
不使用隧道
不修改原始数据包
通过 BGP 同步路由表
直接三层转发

四、Flannel与calico的区别

总结

本文主要讲解k8s集群中pod网络通讯原理,谢谢观看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1133071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s(四)

文章目录前言一、rancher概念二、Rancher安装与配置2.1 安装Rancher2.2 使用rancher管理k8s集群三、通过rancher创建一个nginx并访问2.1 创建命名空间2.2 创建pod容器2.3 创建servers(网络路由)2.4 Rancher 部署监控系统总结前言 本文主要讲解rancher的…

联想拯救者工具箱终极指南:5大核心功能深度解析与实战应用

联想拯救者工具箱终极指南:5大核心功能深度解析与实战应用 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 你的联…

本地化部署更安全:企业敏感数据翻译用CSANMT开源方案

本地化部署更安全:企业敏感数据翻译用CSANMT开源方案 🌐 AI 智能中英翻译服务 (WebUI API) 在企业级应用中,数据安全与隐私保护已成为技术选型的核心考量。尤其在涉及合同、财务、研发文档等敏感内容的跨国协作场景下,使用公有…

30B 参数跑出 1T 性能 | 陈天桥代季峰团队大模型MiroThinker 1.5

如果说2025年时中国AI大模型大爆发的一年,有DeepSeek的问世,千问的雄起;那么2026年,是中国AI智能体大爆发的一年。 新年刚至,前有Manus爆火出圈,现有陈天桥携手代季峰正式发布其自研的旗舰版搜索智能体模型MiroThinker 1.5,堪称智能体模型领域…

TranslucentTB启动失败终极修复:3步彻底解决VCLibs依赖问题

TranslucentTB启动失败终极修复:3步彻底解决VCLibs依赖问题 【免费下载链接】TranslucentTB 项目地址: https://gitcode.com/gh_mirrors/tra/TranslucentTB TranslucentTB是一款轻量级的Windows任务栏透明化工具,能够为Windows 10和Windows 11系…

java并发调用OCR API:多线程处理大批量图片识别任务

Java并发调用OCR API:多线程处理大批量图片识别任务 📖 背景与挑战:OCR文字识别的工程化需求 在数字化转型加速的今天,光学字符识别(OCR)技术已成为文档自动化、票据处理、信息提取等场景的核心支撑。尤其在…

手把手教程:零基础快速掌握Blender MMD插件安装与使用

手把手教程:零基础快速掌握Blender MMD插件安装与使用 【免费下载链接】blender_mmd_tools MMD Tools is a blender addon for importing/exporting Models and Motions of MikuMikuDance. 项目地址: https://gitcode.com/gh_mirrors/bl/blender_mmd_tools 前…

AI翻译服务监控:关键指标与异常报警设置指南

AI翻译服务监控:关键指标与异常报警设置指南 在AI驱动的智能翻译服务日益普及的今天,确保系统稳定、响应及时、质量可靠已成为工程落地的核心挑战。本文以基于ModelScope CSANMT模型构建的轻量级中英翻译服务(支持WebUI API)为背…

如何快速配置ViGEmBus虚拟手柄驱动:实现双平台控制器完美模拟的完整指南

如何快速配置ViGEmBus虚拟手柄驱动:实现双平台控制器完美模拟的完整指南 【免费下载链接】ViGEmBus 项目地址: https://gitcode.com/gh_mirrors/vig/ViGEmBus 想要在Windows系统中获得专业级的游戏控制体验吗?ViGEmBus虚拟手柄驱动为你打开了全新…

LAV Filters终极使用指南:快速解决视频播放问题的简单教程

LAV Filters终极使用指南:快速解决视频播放问题的简单教程 【免费下载链接】LAVFilters LAV Filters - Open-Source DirectShow Media Splitter and Decoders 项目地址: https://gitcode.com/gh_mirrors/la/LAVFilters 还在为视频播放的各种兼容性问题烦恼吗…

TranslucentTB启动失败:VCLibs组件缺失的完整修复指南

TranslucentTB启动失败:VCLibs组件缺失的完整修复指南 【免费下载链接】TranslucentTB 项目地址: https://gitcode.com/gh_mirrors/tra/TranslucentTB 你是否曾经遇到过这样的场景:满怀期待地将TranslucentTB添加到启动项,准备享受透…

OCR技术趋势分析:2026年轻量级模型将成主流

OCR技术趋势分析:2026年轻量级模型将成主流 技术背景与行业演进 光学字符识别(OCR)作为连接物理世界与数字信息的关键桥梁,已广泛应用于文档数字化、票据识别、智能办公、工业质检等多个领域。近年来,随着深度学习技术…

终极Python抢票脚本:3步搞定热门演唱会门票

终极Python抢票脚本:3步搞定热门演唱会门票 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 在热门演唱会门票秒光的今天,手动刷新已经无法应对激烈的抢票竞争。当周杰伦、…

告别手动刷票时代:大麦抢票智能助手全攻略

告别手动刷票时代:大麦抢票智能助手全攻略 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 还在为抢不到心仪演唱会门票而烦恼吗?当热门演出门票秒光,手动刷新根…

游戏画质优化工具深度解析:DLL版本管理与AI技术应用

游戏画质优化工具深度解析:DLL版本管理与AI技术应用 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 技术架构解析 DLSS Swapper作为一款专注于游戏画质优化的开源工具,其核心架构采用模块化设计…

AI翻译在医疗文献中的应用实践

AI翻译在医疗文献中的应用实践 引言:AI智能中英翻译服务的现实需求 随着全球医学研究的快速发展,跨语言学术交流日益频繁。每年有超过200万篇英文医学论文发表,而中文作为使用人数第二多的语言,在临床实践与科研创新中积累了大量高…

DamaiHelper大麦抢票神器:Python自动化脚本带你告别手速烦恼

DamaiHelper大麦抢票神器:Python自动化脚本带你告别手速烦恼 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 在热门演唱会门票秒光的时代,手速再快也难敌自动化脚本的精准…

智能翻译系统搭建:从模型选择到WebUI开发的完整流程

智能翻译系统搭建:从模型选择到WebUI开发的完整流程 📌 项目背景与核心价值 随着全球化进程加速,跨语言沟通需求日益增长。在技术文档、学术交流、跨境电商等场景中,高质量的中英智能翻译服务已成为不可或缺的基础设施。然而&…

百度网盘高速下载终极指南:轻松突破限速限制

百度网盘高速下载终极指南:轻松突破限速限制 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾经因为百度网盘的下载速度而烦恼?看着几十KB的下载…

Unity游戏自动翻译插件XUnity Auto Translator使用指南

Unity游戏自动翻译插件XUnity Auto Translator使用指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语游戏内容而苦恼吗?XUnity Auto Translator让语言障碍不再是问题!…