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

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

本文介绍了CCE集群VPC网络模型下的各种访问场景,包括容器子网的跨节点互访、容器访问VPC以外的IP地址、同节点容器互访、跨节点容器访问容器、容器访问ClusterIP、容器访问外部EIP、节点访问容器以及与线下IDC网络打通的访问说明。

🔎

延伸解读

VPC网络模型下容器子网与VPC网段的关系

在CCE集群的VPC网络模型中,容器子网并不属于VPC网段。这意味着容器IP地址不在VPC的地址范围内,因此跨节点容器互访无法直接通过VPC路由实现。文章指出,跨节点容器互访可以通过隧道封装或路由实现,其中路由方式需要为每个节点划分固定的容器子网,并在VPC路由表中添加相应路由,将目的IP属于该子网的数据包转发给对应节点处理。

Yangtse白名单对容器访问外部IP的影响

为了使容器能够访问VPC以外的IP地址,CCE集群内做了Yangtse白名单处理。如果容器访问的目的IP在白名单内,请求数据包出节点前不会做SNAT;反之,则会将数据包的源IP转换成节点IP。Yangtse白名单默认包含三个网段:10.0.0.0/8、172.16.0.0/12和192.168.0.0/16。这一机制直接影响容器访问外部服务时的源IP地址。

不同访问场景下SNAT和DNAT的差异

文章详细对比了多种访问场景中SNAT和DNAT的使用情况。同节点容器互访、跨节点容器访问容器以及节点访问容器均不涉及SNAT和DNAT,源IP和目的IP直接传递。而容器访问ClusterIP时,会同时涉及DNAT和SNAT,源IP和目的IP都会被转换。容器访问外部EIP则只涉及SNAT转换,不涉及DNAT。理解这些差异有助于排查网络问题。

与线下IDC网络打通的注意事项

当容器需要与线下IDC网络互通时,如果线下IDC的目标网段不在Yangtse白名单内,容器发出的请求数据包在出节点前会做SNAT,将源IP转换为节点IP,响应包进入节点后经过conntrack还原,将目的IP转换为容器IP。如果线下机房希望获取云上容器的真实IP,需要向SRE提单,将线下IDC的目标网段加入Yangtse白名单中。

❓

Q&A

CCE集群VPC网络模型下,容器如何实现跨节点互访?

跨节点容器互访可以通过隧道封装或路由实现,不涉及SNAT和DNAT。

同节点容器互访的特点是什么?

同节点容器互访通过子接口之间的报文转发,不涉及SNAT和DNAT。

容器访问ClusterIP时会发生什么?

容器访问ClusterIP涉及DNAT和SNAT,源IP和目的IP会被转换。

容器如何访问VPC以外的IP地址?

容器访问VPC外的IP地址时,如果不在Yangtse白名单内,请求数据包会做SNAT,源IP会被转换为节点IP。

节点访问容器时的IP转换情况如何?

节点访问容器不涉及SNAT和DNAT,源IP和目的IP直接传递。

如何将线下IDC网络与CCE集群打通?

线下IDC网络需要将目标网段加入Yangtse白名单,才能与云上容器的IP互通。

🏷️

标签

➡️

继续阅读