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白名单中。

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

相关推荐
Anastasiozzzz16 分钟前
对抗大文件上传---分片加多重Hash判重
服务器·后端·算法·哈希算法
Vivienne_ChenW18 分钟前
DDD领域模型在项目中的实战
java·开发语言·后端·设计模式
女王大人万岁32 分钟前
Go标准库 sync 详解
服务器·开发语言·后端·golang
小高Baby@40 分钟前
session、cookie、Jwt-token
开发语言·后端·golang
露天赏雪42 分钟前
JDK8 的入门避坑指南
java·服务器·windows·spring boot·后端·spring·性能优化
爬山算法1 小时前
Hibernate(86)如何在性能测试中使用Hibernate?
java·后端·hibernate
菜鸟小杰子1 小时前
Spring Boot集成asyncTool:复杂任务的优雅编排与高效执行(实战优化版)
java·spring boot·后端
爱宇阳1 小时前
WSL2 完整开发环境配置指南
容器
rannn_1111 小时前
【苍穹外卖|Day3】公共字段自动填充、新增菜品功能、菜品分页查询功能、删除菜品功能、修改菜品功能、起售停售菜品
java·spring boot·后端·学习·项目
无名-CODING1 小时前
SpringMVC处理流程完全指南:从请求到响应的完整旅程
java·后端·spring