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

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

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

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

6) 场景五:Cluster模式,集群内非SVC后端pod所在节点访问SVC External IP

环境

image.pngimage.png

 

cn-hongkong.10.0.3.49节点上存在 nginx-7d6877d777-h4jtf和10.0.3.58

cn-hongkong.10.0.1.82 节点上存在 centos-67756b6dc8-h5wnp和10.0.1.91

Service2 是ngin1,ClusterIP是192.168.2.253 ExternalIP是10.0.3.63。

内核路由

内核路由部分已经在2.2和2.3 小结中详细说明,这里不再进行过多阐述。

源端ECS上的IPVS规则

根据2.2 小结中的源端ECS上的IPVS规则,我们可以得到:ExternalTrafficPolicy为Cluster模式下,对于ExternalIP来说,会把所有SVC后端Pod都会加到该节点的IPVS转发规则。

 

小结

可以访问到目的端

 

Conntrack表信息

Service nginx1的ExternalTrafficPolicy是Cluster。

SVC nginx1 CLusterIP是192.168.2.253,ExternalIP是10.0.3.63,后端是10.0.1.104和10.0.3.58。

 

cn-hongkong.10.0.1.82

image.png

源端ECS上src是源端Pod 10.0.1.91,dst是SVC ExternalIP 10.0.3.63,dport是SVC中的port。并且期望是10.0.3.58 来回包给源端ECS的地址10.0.1.82。

 

cn-hongkong.10.0.3.49

 image.png 

目的端ECS上src是源端Pod所在的ECS地址10.0.1.82,dst是Pod的IP 10.0.3.58,dport是pod的port。并且期望此pod 来回包给源端ECS的地址10.0.1.82。

在ExternalTrafficPolicy为Cluster下,对于ExternalIP来说,源端ECS会把所有SVC后端Pod都会加到该节点的IPVS转发规则,目的端ECS是捕获不到任何SVC ExternalIP信息的,只能捕获到源端Pod所在的ECS的IP,所以回包的时候会回到源端Pod所在的ECS的主网卡上,这一点明显和2.4 小结中访问CusterIP有很明显区别。

 

数据链路转发示意图:

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 ->ECS1 Pod1 calixxxx ->ECS1 主网卡ENI eth0 -> vpc route rule(如有) ->ECS2 附属网卡ethx->ECS2 Pod2 calixxx ->ECS2 Pod2 eth0;

● 在ExternalTrafficPolicy为Cluster下,对于ExternalIP来说,源端ECS会把所有SVC后端Pod都会加到该节点的IPVS转发规则,目的端ECS是捕获不到任何SVC ExternalIP信息的,只能捕获到源端Pod所在的ECS的IP,所以回包的时候会回到源端Pod所在的ECS的主网卡;

● 数据链路要经过四次内核协议栈,Pod1协议栈、ECS1协议栈、Pod2协议栈、ECS2协议栈;

 

7) 场景六:Local模式,集群内非SVC后端pod所在节点访问SVC External IP

环境

image.pngimage.png

cn-hongkong.10.0.3.49节点上存在 nginx-7d6877d777-h4jtf和10.0.3.58

cn-hongkong.10.0.1.82 节点上存在 centos-67756b6dc8-h5wnp和10.0.1.91

Service1 是nginx,ClusterIP是192.168.2.115 ExternalIP是10.0.3.62。

内核路由

内核路由部分已经在2.2和2.3 小结中详细说明,这里不再进行过多阐述。

 

源端ECS上的IPVS规则

Service的ExternalTrafficPolicy是Local

SVC nginx CLusterIP是192.168.2.115,ExternalIP是10.0.3.62。后端是10.0.1.104和10.0.3.58。

 image.png

cn-hongkong.10.0.1.82

对于SVC的ExternalIP,可以看到SVC的后端,无任何转发规则。

 image.png 

根据2.2 小结中的源端ECS上的IPVS规则,我们可以得到:ExternalTrafficPolicy为Local模式下,对于ExternalIP来说,只会把本节点上的SVC的后端Pod加到节点上的IPVS转发规则,如果该节点没有SVC后端,则不会有任何可以转发的规则。

 

小结

不可以访问到目的端

 

Conntrack表信息

Service的ExternalTrafficPolicy是Local

SVC nginx1 CLusterIP是192.168.2.253,ExternalIP是10.0.3.63,后端是10.0.1.104和10.0.3.58。

cn-hongkong.10.0.1.82 无任何conntrack记录表生成。

 image.png

 

数据链路转发示意图:

 

image.png 

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

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

● 整个请求链路是ECS1 Pod1 eth0 ->ECS1 Pod1 calixxxx ->ECS host 空间ipvs/iptables规则,无后端转发ep终止链路;

● ExternalTrafficPolicy为Local模式下,对于ExternalIP来说,只会把本节点上的SVC的后端Pod加到节点上的IPVS转发规则,如果该节点没有SVC后端,则不会有任何可以转发的规则;

 

 

8) 场景七:集群外访问SVC External IP

环境

 image.png

image.png


cn-hongkong.10.0.3.49节点上存在 nginx-7d6877d777-h4jtf和10.0.3.58。

cn-hongkong.10.0.1.47 节点上存在 nginx-7d6877d777-kxwdb和10.0.1.29。

Service1 是nginx,ClusterIP是192.168.2.115 ExternalIP是10.0.3.62。

SLB相关配置

在SLB控制台,可以看到 lb-j6cw3daxxukxln8xccive虚拟服务器组的后端服务器组是两个后端nginxPod的ENI eni-j6c4qxbpnkg5o7uog5kr和eni-j6c6r7m3849fodxdf5l7。

 image.png

 

从集群外部角度看,SLB的后端虚拟服务器组是SVC的后端Pod所属的两个ENI网卡,内网的IP 地址就是Pod的地址。

小结

可以访问到目的端

数据链路转发示意图:

image.png

 

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

● 数据链路要经过二次内核协议栈,Pod1协议栈和ECS协议栈;

 

9) 小结

本篇文章主要聚焦ACK 在Terway ENIIP模式下,不同SOP场景下的数据链路转发路径。伴随着客户对性能的极致追求的需求,在Terway ENIIP模式下,一共可以分为7个SOP场景,并对这七个场景的转发链路,技术实现原理,云产品配置等一一梳理并总结,这对我们遇到Terway ENIIP架构下的链路抖动、最优化配置,链路原理等提供了初步指引方向。

 

在Terway ENIIP 模式下,利用veth pair来联通宿主机和pod的网络空间,pod的地址是来源于弹性网卡的辅助IP地址,并且节点上需要配置策略路由来保证辅助IP的流量经过它所属的弹性网卡,通过此种方式可以实现ENI多Pod共享,大大提升了Pod的部署密度,但是veth pair必然会利用ECS的内核协议栈进行转发,此架构下性能必然不如ENI模式,ACK产研为了提升性能,结合内核的ebpf和ipvlan技术,开发了Terway ebpf + ipvlan 架构。

 

下一系列我们将进入到Terway ENIIP模式的全景解析

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
Kubernetes 监控 开发者
掌握容器化:Docker与Kubernetes的最佳实践
【10月更文挑战第26天】本文深入探讨了Docker和Kubernetes的最佳实践,涵盖Dockerfile优化、数据卷管理、网络配置、Pod设计、服务发现与负载均衡、声明式更新等内容。同时介绍了容器化现有应用、自动化部署、监控与日志等开发技巧,以及Docker Compose和Helm等实用工具。旨在帮助开发者提高开发效率和系统稳定性,构建现代、高效、可扩展的应用。
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
660 0
|
人工智能 弹性计算 运维
ACK Edge与IDC:高效容器网络通信新突破
本文介绍如何基于ACK Edge以及高效的容器网络插件管理IDC进行容器化。
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1307 6
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
338 2
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
640 2
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
2080 39
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
690 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
网络协议 Docker 容器
使用网络--容器互联
使用网络--容器互联
337 18

热门文章

最新文章