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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
DataKit迁移MySQL到openGauss
前言 本文将分享DataKit迁移MySQL到openGauss的项目实战,供广大openGauss爱好者参考。 1.下载操作系统 https://www.openeuler.org/zh/download https://support.huawei.com/enterprise/zh/doc/EDOC1100332931/1a643956 https://support.huawei.com/enterprise/zh/doc/EDOC1100332931/fddc1451 1.1. 关闭selinux [root@olnode01 tmp]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings inst...
- 下一篇
MySQL 8.0.26版本升级32版本查询数据为空的跟踪
某业务系统将MySQL 8.0.26升级为GreatSQL 8.0.32-24 后,某些特定的SQL语句不能查询到数据。经测试 MySQL 8.0.32也存在相同的问题 此BUG已在 GreatSQL 8.0.32-25 版本中解决 MySQL 8.0.26版本升级32版本查询数据为空的跟踪 接到客户反馈的问题后,对问题进行了复现和分析。 版本信息 greatsql> select version(); +-----------+ | version() | +-----------+ | 8.0.32-24 | +-----------+ 1 row in set (0.00 sec) 建表语句 greatsql> show create table t_student; CREATE TABLE `t_student1` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `age` int NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池