《云原生网络数据面可观测性最佳实践》——二、全景剖析阿里云容器网络数据链路——2. Terway ENI 模式架构设计(中)

简介: 《云原生网络数据面可观测性最佳实践》——二、全景剖析阿里云容器网络数据链路——2. Terway ENI 模式架构设计(中)

更多精彩内容,欢迎观看:

《云原生网络数据面可观测性最佳实践》——二、全景剖析阿里云容器网络数据链路——2. Terway ENI 模式架构设计(上):https://developer.aliyun.com/article/1221647?groupCode=supportservice


4) 场景三:访问Pod IP,异节点pod访问pod

环境

image.png ap-southeast-1.10.0.0.196节点上存在pod:centos-59cdc5c9c4-89f8x IP地址10.0.0.202

ap-southeast-1.10.0.2.80节点上存在pod:nginx-6f545cb57c-jmbrq和10.0.2.86

内核路由

centos-59cdc5c9c4-89f8x IP地址10.0.0.202,该容器在宿主机表现的PID是2314075,该容器网络命名空间有指向容器eth0的默认路由。和下一跳为veth1,目的网段为service的两条路由

 image.png

image.png

image.png 

通过上述类似的办法,可以找到 nginx-6f545cb57c-jmbrq IP地址 10.0.2.86,该容器在宿主机表现的PID是1083623

image.pngimage.png

小结

可以访问到目

centos-59cdc5c9c4-89f8x netns eth0 可以抓到数据包。

image.png 

nginx-6f545cb57c-jmbrq netns eth0 可以抓到数据包。

 image.png

 

数据链路转发示意图:

 image.png

 

数据链路是ECS1 Pod1 netns eth0 -> VPC ->ECS2 Pod2 netns eth0数据链路不经过宿主机host namespace,数据链路会先出ECS1,到AVS再回到ECS2

pod内的net namespace中,直接命中默认路由规则,从eth0网卡出pod直接到VPC这里eth0 其实就是附属网卡ENI,直接被挂载在了pod的net ns走了PCI设备

该网卡为被分配pod独占无法和其他pod进行共享

数据链路经过两次协议栈

 

5) 场景四:集群内访问SVC IP (Cluster IP),源端和SVC后端Pod为同一节点

环境

image.png

 image.png

ap-southeast-1.10.0.0.196节点上存在两个pod:centos-59cdc5c9c4-89f8x IP地址10.0.0.202和nginx1-5969d8fc89-9t99h和10.0.0.203

Service是nginx1集群内clusterIP是192.168.41.244,external IP是8.219.175.179

内核路由

centos-59cdc5c9c4-89f8x IP地址10.0.0.202,该容器在宿主机表现的PID是2314075,该容器网络命名空间有指向容器eth0的默认路由。和下一跳为veth1,目的网段为service的两条路由

 image.pngimage.png

 

该容器eth0在ECS OS 内对应veth pair是cali38ef34581a9

 image.png

image.png

通过上述类似的办法,可以找到 nginx1-5969d8fc89-9t99h  IP地址10.0.0.203,该容器在宿主机表现的PID是1094736,该容器eth0在ECS OS 内对应veth pair是cali5068e632525

image.png

 

在ECS OS内,有指向Pod IP,下一跳为calixxxx的路由,通过前文可以知道calixxx网卡是和每个pod内的veth1组成的pair,所以,pod内访问SVC的CIDR会有指向veth1的路由,不会走默认的eth0路由。

 

故calixx网卡在这里的主要作用是用于:节点访问Pod 2. 当节点或者Pod访问 SVC的CIDR时,会走ECS OS内核协议栈转换,走到calixxx和veth1访问pod

 image.png


小结

可以访问到目的端

centos-59cdc5c9c4-89f8x netns veth1 可以抓到数据包。

image.png

 

centos-59cdc5c9c4-89f8x netns cali38ef34581a9 可以抓到数据包。

 image.png

nginx1-5969d8fc89-9t99h netns veth1 可以抓到数据包。

 image.png

 

nginx1-5969d8fc89-9t99h netns cali5068e632525 可以抓到数据包。

 

 image.png


数据链路转发示意图:

 image.png

 

 

数据链路是ECS1 Pod1 netns veth1 -> calixxx1 -> calixxx2->ECS2 Pod2 netns veth1

pod内的net namespace中,命中svc路由,从veth1网卡出pod到ECSnamespace,然后通过linux routing 转到另一个pod的calixx 网卡这里veth1和calixxx是veth pair

源端pod所分配veth,calicoxxx网卡可以捕获到svc IP源端pod IPSVC IP 会在源端ECS host内命中ipvs/iptables规则,做了nat转化

段pod所分配veth,calicoxxx网卡可以捕获calicoxxx网卡默认ip和目pod IP

该网卡为被分配pod独占无法和其他pod进行共享

数据链路经过三次协议栈:Pod1,ECS OSPod2

6) 场景五:集群内访问SVC IP (Cluster IP),源端和SVC后端Pod为不同节点

环境image.png image.png

ap-southeast-1.10.0.0.196节点上存在pod:centos-59cdc5c9c4-89f8x IP地址10.0.0.202

ap-southeast-1.10.0.2.80节点上存在pod:nginx-6f545cb57c-jmbrq和10.0.2.86

Service是nginx集群内clusterIP是192.168.204.233,external IP是8.219.199.33

内核路由

centos-59cdc5c9c4-89f8x IP地址10.0.0.202,该容器在宿主机表现的PID是2314075,该容器网络命名空间有指向容器eth0的默认路由。和下一跳为veth1,目的网段为service的两条路由

 image.png

image.png

该容器eth0在ECS OS 内对应veth pair是cali38ef34581a9

image.png

image.png

 

通过上述类似的办法,可以找到 nginx-6f545cb57c-jmbrq   IP地址 10.0.2.86,该容器在宿主机表现的PID是1083623,该pod网卡ENI是直接被挂载到了Pod的网络命名空间内。

 image.png

image.png

小结

可以访问到目

数据链路转发示意图:

image.png

 

数据链路ECS1 Pod1 netns veth1 -> cali38ef34581a9 ->ECS1 eth0 -> VPC ->ECS2 Pod2 netns veth1

在客户端pod内的net namespace中,命中svc路由,从veth1网卡出pod到ECSnamespace,然后通过linux routing 转到客户端ECS eth0 网卡, 然后进入到vpc转发到的Pod所属eth网卡

源端pod所分配veth,calicoxxx网卡可以捕获到svc IP源端pod IP

SVC IP 会在源端ECS host内命中ipvs/iptables规则,做了fnat转化在源端ECS 所属eth0只能捕获到ipvs/iptables规则所分配pod IP和源ECS IP

的pod内eth0所捕获IP 是源端ECS IPPOD IP(源POD IPSVC IP不会体现)

该网卡为被分配pod独占无法和其他pod进行共享

数据链路经过三次协议栈:Pod1,ECS1 OSPod2

更多精彩内容,欢迎观看:

《云原生网络数据面可观测性最佳实践》——二、全景剖析阿里云容器网络数据链路——2. Terway ENI 模式架构设计(下):https://developer.aliyun.com/article/1221643?groupCode=supportservice

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
人工智能 云计算 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日~10日在江苏张家港召开的CCF ChinaNet(即中国网络大会)上,众多院士、教授和业界技术领袖齐聚一堂,畅谈网络未来的发展方向,聚焦智算集群网络的创新变革。
阿里云引领智算集群网络架构的新一轮变革
|
3天前
|
云安全 人工智能 安全
阿里云稳居公共云网络安全即服务市占率第一
日前,全球领先的IT市场研究和咨询公司IDC发布了《中国公有云网络安全即服务市场份额,2023:规模稳步增长,技术创新引领市场格局》报告。报告显示,阿里云以27.0%的市场份额蝉联榜首。
|
9天前
|
人工智能 运维 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日至10日,CCF ChinaNet(中国网络大会)在江苏张家港召开,众多院士、教授和技术领袖共聚一堂,探讨网络未来发展方向。阿里云研发副总裁蔡德忠发表主题演讲,展望智算技术发展趋势,提出智算网络架构变革的新思路,发布高通量以太网协议和ENode+超节点系统规划,引起广泛关注。阿里云HPN7.0引领智算以太网生态蓬勃发展,成为业界标杆。未来,X10规模的智算集群将面临新的挑战,Ethernet将成为主流方案,推动Scale up与Scale out的融合架构,提升整体系统性能。
|
22天前
|
存储 安全 数据安全/隐私保护
在阿里云快速启动Umami玩转网页分析
本文介绍了Umami的基本信息,并通过阿里云计算巢完成了Umami的快速部署,使用者不需要自己下载代码,不需要自己安装复杂的依赖,不需要了解底层技术,只需要在控制台图形界面点击几下鼠标就可以快速部署并启动Umami,非技术同学也能轻松搞定。
|
27天前
|
人工智能 关系型数据库 数据中心
2024 OCP全球峰会:阿里云为代表的中国企业,引领全球AI网络合作和技术创新
今年的OCP(Open Compute Project)峰会于2024年10月14日至17日在美国加州圣何塞举行,在这场全球瞩目的盛会上,以阿里云为代表的中国企业,展示了他们在AI网络架构、液冷技术、SRv6和广域网等前沿领域的强大创新能力,持续引领全球合作与技术创新。
|
30天前
|
弹性计算 Kubernetes 网络协议
阿里云弹性网络接口技术的容器网络基础教程
阿里云弹性网络接口技术的容器网络基础教程
阿里云弹性网络接口技术的容器网络基础教程
|
5天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
3天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
4天前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
14 1
服务架构的演进:从单体到微服务的探索之旅