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

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 《云原生网络数据面可观测性最佳实践》——二、全景剖析阿里云容器网络数据链路——2. Terway ENI 模式架构设计(下)

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

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


7) 场景六:集群内访问SVC IP (External 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.221.163,external IP是10.0.2.89

内核路由

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

 image.png

image.png

SLB相关配置

在SLB控制台,可以看到虚拟服务器组的后端只有nginx1-5969d8fc89-9t99h的ENI eni-t4n6qvabpwi24w0dcy55

 image.png

 

综上,可以判断如果访问的是SVC的External IP,是走默认路由 eth0,直接出ECS 进入到avs,访问到 SLB的实例,再由SLB实例转发到后端eni上

 

小结

可以访问到目

数据链路转发示意图:

 image.png

 

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

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

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

与 2.4 场景可以看到非常大不同,虽然都前后端Pod都是部署在同一个ECS访问SVCIP,但是可以看到如果访问是SVCClusterIP,则数据链路会进入到ECS OS 层面,会经过三次协议栈;如果访问是External IP,则不会经过ECS OS,直接出ECS,经过SLB转发到目Pod上,只经过两次协议栈(Pod1Pod2)

 

8) 场景七:集群内访问SVC IP(External 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.254.141,external IP是10.0.2.90

内核路由

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

 image.png

image.png

image.png

SLB相关配置

在SLB控制台,可以看到lb-t4nih6p8w8b1dc7p587j9虚拟服务器组的后端只有nginx-6f545cb57c-jmbrq的ENI eni-t4n5kzo553dfak2sp68j

 image.png

 

综上,可以判断如果访问的是SVC的External IP,是走默认路由 eth0,直接出ECS 进入到avs,访问到 SLB的实例,再由SLB实例转发到后端eni上


小结

可以访问到目

数据链路转发示意图:

 image.png

 

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

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

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

与 2.5 场景可以看到非常大不同,虽然都前后端Pod都是部署在不同ECS访问SVCIP,但是可以看到如果访问是SVCClusterIP,则数据链路会进入到ECS OS 层面,通过ECSeth0出ECS,进入到AVS,会经过三次协议栈;如果访问是External IP,则不会经过ECS OS,直接通过Pod所属附属ENI 出ECS,经过SLB转发到目Pod上,只经过两次协议栈(Pod1Pod2)

 

9) 场景八:集群外访问SVC External IP

环境

image.pngimage.png 

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

ap-southeast-1.10.0.1.233节点上存在pod:nginx-6f545cb57c-25k9z和10.0.1.239

 

Service是nginx集群内clusterIP是192.168.254.141,external IP是10.0.2.90

SLB相关配置

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

 image.png

 

从集群外部角度看,SLB的后端虚拟服务器组是SVC的后端Pod所属的两个ENI网卡,内网的IP 地址就是Pod的地址。没有经过后端Pod所在的ECS的OS层面,直接进入到了OS的协议栈


小结

可以访问到目

数据链路转发示意图:

 image.png

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

数据链路要经过一次内核协议栈,是Pod1协议

 

10) 小结

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

 

在Terway ENI 模式下,ENI是以PCI方式直接挂载到Pod的命名空间内,这就以为ENI属于被分配的Pod独享,而ECS所能部署的Pod数量取决于ECS所能挂载ENI网卡数量的限制,而这个限制和ECS的实例规格类型有关,比如神龙ecs.ebmg7.32xlarge,128C 512GB也只支持最多32个ENI,这往往会造成资源的浪费和部署密度的降低,为了解决这个资源效率问题,ACK 带来了Terway ENIIP的方式,来实现ENI网卡可以被多个Pod所共享,这大大增加了单个ECS上的Pod数量quota,提升了部署密度,这也是目前线上集群采用最多的架构。

 

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

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
23天前
|
消息中间件 存储 Cloud Native
云原生架构下的数据一致性挑战与应对策略####
本文探讨了在云原生环境中,面对微服务架构的广泛应用,数据一致性问题成为系统设计的核心挑战之一。通过分析云原生环境的特点,阐述了数据不一致性的常见场景及其对业务的影响,并深入讨论了解决这些问题的策略,包括采用分布式事务、事件驱动架构、补偿机制以及利用云平台提供的托管服务等。文章旨在为开发者提供一套系统性的解决方案框架,以应对在动态、分布式的云原生应用中保持数据一致性的复杂性。 ####
|
19天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
42 5
|
21天前
|
Kubernetes 负载均衡 Cloud Native
云原生架构下的微服务治理策略
随着云原生技术的不断成熟,微服务架构已成为现代应用开发的主流选择。本文探讨了在云原生环境下实施微服务治理的策略和方法,重点分析了服务发现、负载均衡、故障恢复和配置管理等关键技术点,以及如何利用Kubernetes等容器编排工具来优化微服务的部署和管理。文章旨在为开发者提供一套实用的微服务治理框架,帮助其在复杂的云环境中构建高效、可靠的分布式系统。
32 5
|
21天前
|
负载均衡 监控 Cloud Native
云原生架构下的微服务治理策略与实践####
在数字化转型浪潮中,企业纷纷拥抱云计算,而云原生架构作为其核心技术支撑,正引领着一场深刻的技术变革。本文聚焦于云原生环境下微服务架构的治理策略与实践,探讨如何通过精细化的服务管理、动态的流量调度、高效的故障恢复机制以及持续的监控优化,构建弹性、可靠且易于维护的分布式系统。我们将深入剖析微服务治理的核心要素,结合具体案例,揭示其在提升系统稳定性、扩展性和敏捷性方面的关键作用,为读者提供一套切实可行的云原生微服务治理指南。 ####
|
21天前
|
消息中间件 缓存 Cloud Native
云原生架构下的性能优化实践与挑战####
随着企业数字化转型的加速,云原生架构以其高度解耦、弹性伸缩和快速迭代的特性,成为现代软件开发的首选模式。本文深入探讨了云原生环境下性能优化的关键策略与面临的主要挑战,通过案例分析,揭示了如何有效利用容器化、微服务、动态调度等技术手段提升应用性能,同时指出了在复杂云环境中确保系统稳定性和高效性的难题,为开发者和架构师提供了实战指南。 ####
31 3
|
21天前
|
运维 Kubernetes Cloud Native
深入理解云原生架构:从理论到实践
【10月更文挑战第38天】本文将引导读者深入探索云原生技术的核心概念,以及如何将这些概念应用于实际的软件开发和运维中。我们将从云原生的基本定义出发,逐步展开其背后的设计哲学、关键技术组件,并以一个具体的代码示例来演示云原生应用的构建过程。无论你是云原生技术的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和实操指南。
|
21天前
|
Kubernetes Cloud Native 持续交付
云原生技术在现代应用架构中的实践与思考
【10月更文挑战第38天】随着云计算的不断成熟和演进,云原生(Cloud-Native)已成为推动企业数字化转型的重要力量。本文从云原生的基本概念出发,深入探讨了其在现代应用架构中的实际应用,并结合代码示例,展示了云原生技术如何优化资源管理、提升系统弹性和加速开发流程。通过分析云原生的优势与面临的挑战,本文旨在为读者提供一份云原生转型的指南和启示。
33 3
|
23天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
49 5
|
20天前
|
运维 Kubernetes Cloud Native
云原生技术在现代应用架构中的实践与挑战####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在实际项目中的应用案例,分析了企业在向云原生转型过程中面临的主要挑战及应对策略。不同于传统摘要的概述性质,本摘要强调通过具体实例揭示云原生技术如何促进应用的灵活性、可扩展性和高效运维,同时指出实践中需注意的技术债务、安全合规等问题,为读者提供一幅云原生技术实践的全景视图。 ####
|
24天前
|
域名解析 网络协议 虚拟化
vmware 提供的三种网络工作模式
本文介绍了VMware虚拟机的三种网络工作模式:Bridged(桥接模式)、NAT(网络地址转换模式)和Host-Only(仅主机模式)。桥接模式将虚拟机与主机通过虚拟网桥连接,实现与物理网络的直接通信;NAT模式通过虚拟NAT设备和DHCP服务器使虚拟机联网;Host-Only模式则将虚拟机与外网隔离,仅与主机通信。此外,文章还简要介绍了网络相关的基础知识,包括主机名、IP地址、子网掩码、默认网关和DNS服务器。
44 3