CCE集群VPC网络模式下几种访问场景

本文分享自华为云社区《【理解云容器网络】5-CCE集群VPC模型容器网络走线介绍》,作者:可以交个朋友。

简介

鉴于在CCE集群使用VPC网络模型,处理遇到的一些网络问题时,需要熟悉不同场景下数据包的流转过程,才能快速的解决问题。本文主要介绍CCE集群VPC网络模式下各种访问场景介绍。

VPC网络模型不同访问场景走线

VPC网络模型下,容器子网不属于VPC网段,跨节点容器互访除了隧道封装还可以通过路由实现,需要为每个节点划分固定的容器子网,比如节点Node1上所有容器ip都在子网172.16.0.0/25内,VPC路由表将目的ip属于172.16.0.0/25子网的数据包全部转给节点Node1处理,Node1收到数据包再根据系统路由表转给具体的容器。同时为了使容器能访问VPC以外的ip地址,在CCE集群内做了Yangtse白名单处理,如果容器访问目的ip在白名单内,容器请求数据包出节点前不会做SNAT;反之会将数据包的源ip转换成节点ip,Yangtse白名单默认有三个网段(10.0.0.0/8,172.16.0.0/12,192.168.0.0/16)。

同节点容器互访

访问说明:

容器的eth0网口是节点eth0的子接口,内部互通是子接口之间的报文转发,这个转发就是内核的虚拟网络的收发处理函数和缓冲队列处理,实际上不经过节点网卡的收发队列和网络命名空间。同节点容器访问容器不涉及SNAT和DNAT

跨节点容器访问容器

访问说明:

发起请求时,源ip为10.0.0.133,目的ip为10.0.0.7。服务端容器接收的数据包,其源地址是10.0.0.133 ,目的地址为10.0.0.7。跨节点容器访问容器不涉及SNAT 和 DNAT

容器访问ClusterIP

访问说明:

发起请求时,源ip为10.0.0.133,目的ip为10.247.4.15。服务端容器接收的数据包,其源地址是192.168.0.74,目的地址为10.0.0.2。容器访问ClusterIP涉及DNAT 和 SNAT。

容器访问外部EIP

访问说明:

发起请求时,源ip为10.0.0.33,目的ip为100.85.116.151,服务端主机接收的数据包源IP为192.168.0.157,目的ip为100.85.116.151。容器访问EIP涉及SNAT转换,不涉及DNAT

节点访问容器

访问说明:

发起请求时,源ip为192.168.0.74,目的ip为10.0.0.2,服务端容器接收的数据包源IP为192.168.0.174,目的ip为10.0.0.2。节点访问容器不涉及SNAT和DNAT转换。

与线下IDC网络打通

访问说明:

VPC网络模型,容器访问VPC外的ip若不在Yangtse白名单(10.0.0.0/8,172.16.0.0/12,192.168.0.0/16)内,请求数据包出节点前会做SNAT,将数据包的源ip转换成节点ip,响应包进入节点后经过conntrack还原,将数据包的目的ip转换成容器ip。如果线下机房想获取云上容器的ip,需要给SRE提单将线下IDC的目标网段加入到Yangtse白名单中。

点击关注,第一时间了解华为云新鲜技术~

相关推荐
hay_lee1 小时前
Kubernetes StatefulSet:OrderedReady 极简指南
云原生·容器·kubernetes
晚风吹长发1 小时前
Docker使用——Docker容器及相关命令
linux·运维·服务器·docker·容器·架构
AskHarries1 小时前
文件上传系统
后端
ShiXZ2131 小时前
Docker Compose 安装与配置指南
运维·docker·容器
止语Lab2 小时前
好的 DX 不等于少写代码——三种语言的摩擦力设计课
后端
吃饱了得干活2 小时前
别再手动解析 LLM 输出了!LangChain 四种结构化输出方案对比
后端·python·langchain
程序员天天困2 小时前
Arthas trace 命令怎么用?一行定位最慢那行代码
jvm·后端
Huiturn2 小时前
GPT 5.6 连续编码 10 小时,纯 Python 啃下 Word 二进制格式——doc2docx 实现拆解
后端
用户298698530142 小时前
Python 实现 Excel 与 Markdown 互转的实用指南
后端·python·excel
用户77283104908402 小时前
krono-job:零侵入、单二进制交付的分布式任务调度平台(开源)
后端