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

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

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

《云原生网络数据面可观测性最佳实践》——二、全景剖析阿里云容器网络数据链路——6. ASM Istio 模式架构设计(中):https://developer.aliyun.com/article/1221385?spm=a2c6h.13148508.setting.33.15f94f0eCydDfj


9) 场景八:Cluster模式下,集群内源端访问SVC ExternalIP(源端和SVC后端不同节点,不同安全组)

环境


image.pngimage.png

image.png

cn-hongkong.10.0.4.20节点上存在客户端 centos-59cdc5c9c4-l5vf9和IP 10.0.4.27。

cn-hongkong.10.0.4.244节点上存在服务端 nginx-96bb9b7bb-wwrdm和IP 10.0.5.35。

nginx的svc的ClusterIP是192.168.31.83 External IP是47.243.87.204, ExternalTrafficPolicy 是Cluster模式。

内核路由

ENI-Trunking相比较ENIIP来说,只是在VPC侧增加了对应的Truning和Member ENI,在OS内并无区别,此处可以参考《Terway ENIIP模式架构》。

 

小结

是否可以访问取决于安全组配置

数据链路转发示意图:

 image.png

 

● 会经过calicao网卡,每个非hostnetwork的pod会和calicao网卡形成veth pair,用于和其他pod或node进行通信;

● 整个链路不会和请求不会经过pod所分配的ENI,直接在OS的ns中命中Ip rule 被转发;

● 出ECS后,根据要访问的pod和该pod ENI所属vswitch,命中VPC路由规则或者直接VSW上的二层转发;

● 整个请求链路是ECS1 Pod1 eth0 -> cali1xxx >ECS eth0 -> vpc route rule(如有) ->Pod2 member eni -> Trunk eni (ECS2) cali2 xxx->ECS2 Pod1 eth0;

● 经过ipvs规则fnat转化,数据包是以源pod IP 从ECS eth0 出,请求目的pod IP。(访问SVC clusterIP,以及Local模式下访问External IP);

● 这个经过的ENI有ECS1的eth0,Pod2 member eni。所以这两个网卡的安全组的配置都会影响数据链路的连通性。需要保证安全组互相放通Pod和ECS的响应IP ;

 

10) 场景九:Cluster模式下,集群内源端访问SVC ExternalIP(源端和SVC后端不同节点,相同安全组)

环境

image.png

image.png

image.png cn-hongkong.10.0.4.20节点上存在客户端 centos-59cdc5c9c4-l5vf9和IP 10.0.4.27。

cn-hongkong.10.0.4.22节点上存在服务端 nginx-6f545cb57c-kt7r8和IP 10.0.4.30。

nginx的svc的ClusterIP是192.168.81.92 External IP是8.210.162.178 ExternalTrafficPolicy为Cluster。

内核路由

ENI-Trunking相比较ENIIP来说,只是在VPC侧增加了对应的Truning和Member ENI,在OS内并无区别,此处可以参考《Terway ENIIP模式架构》Cluster模式,集群内非SVC后端pod所在节点访问SVC External IP。


小结

是否可以访问取决于安全组配置

数据链路转发示意图:

image.png

● 会经过calicao网卡,每个非hostnetwork的pod会和calicao网卡形成veth pair,用于和其他pod或node进行通信;

● 整个链路不会和请求不会经过pod所分配的ENI,直接在OS的ns中命中Ip rule 被转发;

● 出ECS后,根据要访问的pod和该pod ENI所属vswitch,命中VPC路由规则或者直接VSW上的二层转发;

● 整个请求链路是ECS1 Pod1 eth0 -> cali1xxx >ECS eth0 -> vpc route rule(如有) ->Pod2 member eni -> Trunk eni (ECS2) cali2 xxx->ECS2 Pod1 eth0;

● 经过ipvs规则fnat转化,数据包是以源pod IP 从ECS eth0 出,请求目的pod IP。(访问SVC clusterIP,以及Local模式下访问External IP);

● 这个经过的ENI有ECS1的eth0,Pod2 member eni。所以这两个网卡的安全组的配置都会影响数据链路的连通性。需要保证安全组互相放通Pod和ECS的响应IP;

 

11) 场景十:集群外访问SVC IP

环境

image.pngimage.png

image.png

 cn-hongkong.10.0.4.20节点上存在客户端 centos-59cdc5c9c4-l5vf9和IP 10.0.4.27。

cn-hongkong.10.0.4.22节点上存在服务端 nginx-6f545cb57c-kt7r8和IP 10.0.4.30。

nginx的svc的ClusterIP是192.168.81.92 External IP是8.210.162.178 ExternalTrafficPolicy为Cluster。

SLB相关配置

在SLB控制台,可以看到 lb-j6cmv8aaojf7nqdai2a6a 虚拟服务器组的后端服务器组是两个后端nginxPod的ENI eni-j6cgrqqrtvcwhhcyuc28, eni-j6c54tyfku5855euh3db和eni-j6cf7e4qnfx22mmvblj0,这几个ENI 都是member ENI。image.png

image.png

 

小结

是否可以访问取决于安全组配置

数据链路转发示意图:

 image.png

 

● 会经过calicao网卡,每个非hostnetwork的pod会和calicao网卡形成veth pair,用于和其他pod或node进行通信;

● 数据链路:client -> SLB->Pod Member ENI +Pod Port-> Trunking ENI ->ECS1 Pod1 eth0;

● ExternalTrafficPolicy 为Local或Cluster模式下,SLB只会将Pod分配的member ENI挂在到SLB的虚拟服务器组;

● SLB转发请求只会转发到目标member ENI上,然后通过vlan发送到Trunk ENI,再由Trunk ENI 转发到Pod;

相关实践学习
基于ECS搭建云上博客
本实验教您如何在ECS云服务器(Alibaba Cloud Linux 3)的环境下,通过部署LAMP环境并安装WordPress快速搭建个人博客。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
人工智能 安全 架构师
2025云栖大会 | 阿里云网络技术Session主题资料和视频回放归档
2025年9月24日-26日,杭州,一年一度的云栖大会如期而至;阿里云飞天洛神云网络作为阿里云计算的连接底座,是飞天云操作系统的核心组件,致力于为上云企业提供高可靠、高性能、高弹性、智能的连接服务。本次云栖,云网络产品线也带来全系列产品升级,以及创新技术重磅解读,围绕增强确定性、提效自动化、深耕智能化和敏捷全球化带来技术、产品和服务升级,以及全新的云网络产品生态合作计划发布。
1749 4
|
弹性计算 安全 应用服务中间件
阿里云渠道商:怎么配置阿里云网络ACL?
阿里云网络ACL是子网级无状态防火墙,支持精准流量控制、规则热生效且免费使用。本文详解5步配置流程,助您实现Web与数据库层的安全隔离,提升云上网络安全。
|
弹性计算 网络安全 数据中心
阿里云创建专有网络VPC的【IPv4网段】如何选择?有什么区别?
阿里云VPC创建时需选IPv4网段,默认提供10.0.0.0/16、172.16.0.0/16、192.168.0.0/16,三者无功能差异。若仅单VPC且不连本地数据中心,可任选其一,确保不冲突即可。多VPC或混合云场景需规划避免IP重叠。不支持100.64.0.0/10等特殊网段。建议结合IPAM进行地址管理。
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
1596 108
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
996 57
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
1006 52
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
818 59

热门文章

最新文章