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

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

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

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


4) 场景三:同节点不同安全组TrunkPod互访(含访问SVC IP,源端和svc后端部署在同一节点)

环境

image.png

 cn-hongkong.10.0.4.244节点上存在 nginx-96bb9b7bb-wwrdm,10.0.5.35和centos-648f9999bc-nxb6l,10.0.5.18。

内核路由

相关的Pod的容器网络命名空间,路由等不在进行过多描述,详情可以见前面两小节。

通过podeni可以看到centos-648f9999bc-nxb6l 所分配的ENI,安全组sg,交换机vsw等image.png

 

通过安全组sg-j6ccrxxxx可以看到centos的pod可以访问外部所有的地址

image.png

 

同理,可以查看出服务端Pod的nginx-96bb9b7bb-wwrdm的安全组 sg-j6ccrze8utxxxxx 是只允许192.168.0.0/16 可以访问

image.png

image.png

小结

可以访问到目

数据链路转发示意图:

 image.png

 

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

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

整个请求链路是ECS1 Pod1 eth0 -> cali1xxxxxx-> cali2xxxxxx ->ECS1 Pod2 eth0

pod属于同or不同ENI,链路请求是一致,不经过ENI

因为是通过os内核 routing 转发,不经过 member eni,所以安全组不生效,此链路与pod所属member eni安全组无关

访问Pod IP访问 SVC IP(external ipor clusterip)区别是:访问SVC IPSVC 会在源端pod eth0和calixxx网卡捕捉到,在目端podeth0和calixxx时捕捉不到

 

5) 场景四:不同节点同安全组TrunkPod互访

环境

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

内核路由

相关的Pod的容器网络命名空间,路由等不在进行过多描述,详情可以见前面两小节。

通过podeni可以看到centos-59cdc5c9c4-l5vf9 所分配的ENI,安全组sg,交换机vsw等

通过安全组sg-j6cf3sxrlbuwxxxxx可以看到centos和nginx的pod属于同一个安全组 sg-j6cf3sxrlbuxxxxx。

 image.png

image.png

 

小结

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

数据链路转发示意图:

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 > Trunk eni (ECS1) ->Pod1 member eni -> vpc route rule(如有) ->Pod2 member eni -> > Trunk eni (ECS2) cali2 xxx->ECS2 Pod1 eth0

因为是通过os内核 routing 转发,经过 member eni,因为member eni属于同一个安全组,所以安全组内默认是互通

6) 场景五:不同节点不同安全组TrunkPod互访

环境

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

内核路由

相关的Pod的容器网络命名空间,路由等不在进行过多描述,详情可以见前面两小节。

通过podeni可以看到centos-59cdc5c9c4-l5vf9 所分配的ENI,安全组sg,交换机vsw等。

通过安全组sg-j6cf3sxrlbuwxxxxx可以看到centos的pod可以访问外部所有的地址

 image.png

 

同理,可以查看出服务端Pod的nginx-96bb9b7bb-wwrdm的安全组 sg-j6ccrze8utxxxxx 是只允许192.168.0.0/16 可以访问

image.png

image.png


小结

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

数据链路转发示意图:

 image.png

 

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

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

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

因为是通过os内核routing转发,流量会经过member eni是否可以访问成功,安全组配置对此有着决定性作用

7) 场景六:集群内源端访问SVC IP(源端和SVC后端不同节点,相同安全组,含Local模式访问external IP)

环境

 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

内核路由

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


小结

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

数据链路转发示意图:

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 ->Pod1 member eni -> vpc route rule(如有) ->Pod2 member eni -> Trunk eni (ECS2) cali2 xxx->ECS2 Pod1 eth0

回方向:ECS2 Pod1 eth0 -> Trunk eni (ECS2) cali2 xxx ->Pod2 member eni -> vpc route rule(如有) ->Pod1 member eni -> Trunk eni (ECS1) -> cali1xxx ->ECS1 Pod1 eth0

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

这个经过ENI有ECS1的eth0,Pod1 member eni,Pod2 member eni所以这三个网卡安全组配置都会影响数据链路连通性

 

8) 场景七:集群内源端访问SVC IP(源端和SVC后端不同节点,不同安全组,含Local模式访问external IP)

环境

image.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

内核路由

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 ->Pod1 member eni -> vpc route rule(如有) ->Pod2 member eni -> Trunk eni (ECS2) cali2 xxx->ECS2 Pod1 eth0

回方向:ECS2 Pod1 eth0 -> Trunk eni (ECS2) cali2 xxx ->Pod2 member eni -> vpc route rule(如有) ->Pod1 member eni -> Trunk eni (ECS1) -> cali1xxx ->ECS1 Pod1 eth0

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

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

 

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

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

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
189 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
3月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
226 6
|
3月前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
93 2
|
3月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
103 2
|
28天前
|
负载均衡 容灾 Cloud Native
云原生应用网关进阶:阿里云网络ALB Ingress 全能增强
在过去半年,ALB Ingress Controller推出了多项高级特性,包括支持AScript自定义脚本、慢启动、连接优雅中断等功能,增强了产品的灵活性和用户体验。此外,还推出了ingress2Albconfig工具,方便用户从Nginx Ingress迁移到ALB Ingress,以及通过Webhook服务实现更智能的配置校验,减少错误配置带来的影响。在容灾部署方面,支持了多集群网关,提高了系统的高可用性和容灾能力。这些改进旨在为用户提供更强大、更安全的云原生网关解决方案。
405 19
|
2月前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
2月前
|
缓存 监控 API
探索微服务架构中的API网关模式
随着微服务架构的兴起,API网关成为管理和服务间交互的关键组件。本文通过在线零售公司的案例,探讨了API网关在路由管理、认证授权、限流缓存、日志监控和协议转换等方面的优势,并详细介绍了使用Kong实现API网关的具体步骤。
60 3
|
2月前
|
存储 缓存 监控
探索微服务架构中的API网关模式
探索微服务架构中的API网关模式
58 2
|
1月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
77 17
|
1月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章