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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 《云原生网络数据面可观测性最佳实践》——二、全景剖析阿里云容器网络数据链路——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网卡,每个非hostnetworkpod会和calicao网卡形成veth pair,用于和其他pod或node进行通信

整个链路不会和请求不会经过pod所分配ENI,直接在OSns中命中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网卡,每个非hostnetworkpod会和calicao网卡形成veth pair,用于和其他pod或node进行通信

整个链路不会和请求不会经过pod所分配ENI,直接在OSns中命中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 ENIimage.png

image.png

 

小结

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

数据链路转发示意图:

 image.png

 

会经过calicao网卡,每个非hostnetworkpod会和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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
运维 Cloud Native Devops
云原生架构:企业数字化转型的加速器
【8月更文挑战第11天】在数字化浪潮中,企业正经历前所未有的转型压力。云原生架构作为一种新型的IT架构模式,以其灵活性、可扩展性和高效性成为企业应对这一挑战的关键工具。本文将深入探讨云原生架构的核心概念、优势以及它如何助力企业实现敏捷开发、自动化运维和微服务治理,最终加速企业的数字化转型之旅。
19 3
|
3天前
|
Cloud Native 测试技术 开发者
终于!我找到了开发的得力助手!阿里云天池云原生编程挑战赛参赛攻略
在比赛过程中,通义灵码插件成为了我开发工作的得力助手。这个插件提供了智能代码补全和错误提示功能,大大提高了我的编码效率。尤其是通义灵码能够实时分析代码,给出优化建议,让我避免了很多潜在的错误。
123 64
|
6天前
|
Kubernetes Cloud Native 持续交付
云原生技术浪潮下的微服务架构实践
在数字化转型的今天,云原生技术成为推动企业IT革新的关键力量。本文将通过浅显易懂的语言和实际案例,带领读者了解云原生的核心概念、微服务架构的设计原则以及如何在云平台上高效部署和管理微服务。我们将从基础概念出发,逐步深入到微服务的生命周期管理,探讨如何在云原生生态中实现快速迭代和持续交付。无论你是云原生技术的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的指导和思考。
|
3天前
|
人工智能 缓存 Cloud Native
用 Higress AI 网关降低 AI 调用成本 - 阿里云天池云原生编程挑战赛参赛攻略
《Higress AI 网关挑战赛》正在火热进行中,Higress 社区邀请了目前位于排行榜 top5 的选手杨贝宁同学分享他的心得。本文是他整理的参赛攻略。
126 65
|
1天前
|
Cloud Native API 云计算
云原生架构:企业数字化转型的催化剂
【8月更文挑战第18天】在数字化浪潮不断推进的今天,云原生技术已成为推动企业IT转型的核心力量。通过深入探讨云原生架构的基本原理、优势以及实施策略,本文旨在为企业提供一个清晰的云原生应用路线图,帮助它们在竞争激烈的市场环境中获得灵活性和创新能力。文章将详细阐述云原生如何助力企业实现资源的最优配置,加速产品上市时间,并提高系统的可维护性和扩展性。
|
1天前
|
网络协议 Linux 网络安全
遇到Docker容器网络隔断?揭秘六种超级实用解决方案,轻松让Docker容器畅游互联网!
【8月更文挑战第18天】Docker容器内网络不通是开发者常遇问题,可能因网络配置错、Docker服务异常或防火墙阻碍等原因引起。本文提供六种解决策略:确认Docker服务运行状态、重启Docker服务、检查与自定义Docker网络设置、验证宿主机网络连接、临时禁用宿主机IPv6及检查防火墙规则。通过这些步骤,多数网络问题可得以解决,确保容器正常联网。
7 1
|
2天前
|
运维 安全 SDN
网络拓扑设计与优化:构建高效稳定的网络架构
【8月更文挑战第17天】网络拓扑设计与优化是一个复杂而重要的过程,需要综合考虑多方面因素。通过合理的拓扑设计,可以构建出高效稳定的网络架构,为业务的顺利开展提供坚实的支撑。同时,随着技术的不断进步和业务需求的不断变化,网络拓扑也需要不断优化和调整,以适应新的挑战和机遇。
|
5天前
|
弹性计算 Prometheus 监控
如何基于容器网络流量指标进行弹性伸缩
【8月更文挑战第13天】基于容器网络流量指标进行弹性伸缩可动态调整资源,提升系统性能与利用率。首先选监控工具如Prometheus,收集并分析网络流量数据。接着定义监控指标及阈值,如入站与出站流量。最后配置如Kubernetes的HPA实现自动化伸缩,并通过测试不断优化策略,确保系统稳定高效运行。
|
7天前
|
人工智能 Cloud Native 安全
统一多层网关好处多,阿里云云原生 API 网关打造全能型网关
本文分享了作为一款全能型网关【云原生 API 网关】是如何帮助企业落地统一网关架构的。
|
7天前
|
运维 Kubernetes 安全
云时代的运维之光:容器化与微服务架构的融合之道
在数字化浪潮中,企业IT架构的演进从未停歇。本文以浅显的语言探讨了容器技术与微服务架构如何协同工作,提高运维效率。我们将从基础概念出发,逐步深入到它们在实际工作中的应用,最后分享一些行业内的最佳实践。无论你是运维新手还是资深专家,这篇文章都将为你带来新的视角和思考。

热门文章

最新文章