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

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

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

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


3) 场景二:Client和服务端Pod部署于不同ECS

此场景包含下面几个子场景,数据链路可以归纳为一种:

以Pod IP对外提供服务,Client和Pod部署于不同节点;

以SVC ClusterIP对外提供服务,Client和SVC 后端Pod部署于不同节点;

以SVC ExternalIP对外提供服务,ExternalTrafficPolicy为Cluster情况下,集群内Client和SVC后端Pod部署于不同节点;

环境

image.png

 

ap-southeast-1.10.0.0.180节点上存在两个pod:centos-67756b6dc8-rmmxt IP地址172.23.96.23和nginx1-76c99b49df-7plsr IP 地址172.23.96.163

Service nginx1的ExternalTrafficPlicy 为Cluster

 image.png

 

内核路由

Pod网络空间和ECS OS 网络空间的数据交换在 2.1 场景一中已经做了详细描述,此处不再果断篇幅描述。

源端Pod所在ECS的IPVS规则

可以看到,源端数据链路访问svc的clusterip 192.168.13.23 时,如果链路到达ECS的OS内,会命中ipvs规则,被解析到svc的后端endpoint之一(本实例中只有一个pod,所以endpoint只有一个)

image.png

 

小结

可以成功访问到目的端

数据链路转发示意图

image.png

VPC 路由表会自动配置目的地址是pod CIDR,下一跳为Pod 网段所归属的ECS的自定义路由条目,该规则由ACK管控测通过openapi 调用VPC去配置,无需手动配置和删除

image.png

 

内核协议栈示意图:

image.png

 

Conntack 表信息(访问SVC 情况)

 

Node1:

src是源pod IP,dst是svc的ClusterIP,并且期望是由svc的其中一个endpoint

172.23.96.163 来回消息给源端podimage.png 

Node2:

目的pod所在ECS上conntrack 表记录是由源端pod访问目的pod,不会记录svc的clusterip地址

image.png

数据链路:ECS1 Pod1 eth0 -> vethxxx1 -> cni0 ->ECS 1 eth0 -> VPC ->ECS2 eth0 -> cni0 -> vethxxxx2 ->ECS2 Pod2 eth0

数据链路要经过四次内核协议栈,分别是Pod1协议栈,ECS1 OS协议栈,ECS2 OS协议栈和Pod2协议

VPC 路由表会自动配置目地址是pod CIDR下一跳为Pod 网段所归属ECS自定义路由条目,该规则由ACK管控测通过openapi 调用VPC去配置,无需手动配置和删除

如果访问SVC的Cluster IP,或者是Cluster模式下,访问SVCexternalIP,数据链路通过veth pair进到ECS OS内后,会命中相应IPVS规则,并根据负载规则,选择IPVS某一个后端,进而打到其中一个SVC后端endpoint,SVCIP 只会再Pod的eth0veth pair vethxxx被捕捉到,其他链路环节不会捕捉到svcIP

 

4) 场景三:ExternalTrafficPolicy为Local时,Client和服务端Pod部署于集群内不同ECS

此场景包含下面几个子场景,数据链路可以归纳为一种:

 

以SVC ExternalIP对外提供服务,ExternalTrafficPolicy为Local情况下,集群内Client和SVC后端Pod部署于不同节点;

环境

image.png 

ap-southeast-1.10.0.0.180节点上存在两个pod:centos-67756b6dc8-rmmxt IP地址172.23.96.23和nginx1-76c99b49df-7plsr IP 地址172.23.96.163

Service nginx1 ExternalTrafficPolicy 为Local

image.png

内核路由

Pod网络空间和ECS OS 网络空间的数据交换在 2.1 场景一中已经做了详细描述,此处不再果断篇幅描述。

源端Pod所在ECS的IPVS规则

可以看到,源端数据链路访问svc的external ip 8.219.164.113 时,如果链路到达ECS的OS内,会命中ipvs规则,但是我们可以看到external ip并没有相关的后端endpoint,链路达到OS后,会命中IPVS规则,但是没有后端pod,所以会出现connection refused

image.png

 

小结

不可以访问到目的端,此时会访问失败,Connection refused

数据链路转发示意图:

image.png

 

内核协议栈示意图

 image.png 

数据链路:ECS1 Pod1 eth0 -> vethxxx1 ->

数据链路要经过一次半内核协议栈,分别是Pod1协议栈,半个ECS1 OS协议栈 

如果访问SVCExternal IP,或者是Local模式下,访问SVCexternalIP,数据链路通过veth pair进到ECS OS内后,会命中相应IPVS规则,但是由于Local模式,External IPIPVS为空,所以命中规则但是无转发后端,整个链路会在ipvs终止,访问失败所以建议集群内采用clusterip访问,这也是k8s官方推荐最佳实践


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

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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
人工智能 Cloud Native 安全
解读阿里云刚发布的《AI 原生应用架构白皮书》
阿里云在云栖大会重磅发布了《AI 原生应用架构白皮书》,该白皮书覆盖 AI 原生应用的 11 大关键要素,获得业界 15 位专家联名推荐,来自 40 多位一线工程师实践心得,全书合计超 20w 字,分为 11 章,全面、系统地解构 AI 原生应用架构,包含了 AI 原生应用的 11 大关键要素,模型、框架、提示词、RAG、记忆、工具、网关、运行时、可观测、评估和安全。本文整理自阿里云智能技术专家李艳林在云栖大会现场的解读。
1841 41
|
3月前
|
人工智能 缓存 安全
阿里云发布《AI 原生应用架构白皮书》
阿里云联合阿里巴巴爱橙科技,共同发布《AI 原生应用架构白皮书》,围绕 AI 原生应用的 DevOps 全生命周期,从架构设计、技术选型、工程实践到运维优化,对概念和重难点进行系统的拆解,并尝试提供一些解题思路。白皮书覆盖 AI 原生应用的 11 大关键要素,获得 15 位业界专家联名推荐,来自 40 多位一线工程师实践心的,全书合计超 20w 字,分为 11 章。
2147 23
|
2月前
|
人工智能 缓存 安全
阿里云发布《AI 原生应用架构白皮书》!
阿里云联合爱橙科技发布《AI原生应用架构白皮书》,系统解析AI应用在架构设计、开发运维中的关键挑战与解决方案,涵盖大模型、Agent、RAG、安全等11大核心要素,助力企业构建稳定、高效、可控的AI应用体系。
阿里云发布《AI 原生应用架构白皮书》!
|
3月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
300 1
|
3月前
|
存储 人工智能 关系型数据库
阿里云AnalyticDB for PostgreSQL 入选VLDB 2025:统一架构破局HTAP,Beam+Laser引擎赋能Data+AI融合新范式
在数据驱动与人工智能深度融合的时代,企业对数据仓库的需求早已超越“查得快”这一基础能力。面对传统数仓挑战,阿里云瑶池数据库AnalyticDB for PostgreSQL(简称ADB-PG)创新性地构建了统一架构下的Shared-Nothing与Shared-Storage双模融合体系,并自主研发Beam混合存储引擎与Laser向量化执行引擎,全面解决HTAP场景下性能、弹性、成本与实时性的矛盾。 近日,相关研究成果发表于在英国伦敦召开的数据库领域顶级会议 VLDB 2025,标志着中国自研云数仓技术再次登上国际舞台。
365 0
|
2月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
5月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
265 0

热门文章

最新文章