更新时间:2024-11-12 GMT+08:00
从容器访问公网
容器访问公网有如下方法可以实现。
- 给容器所在节点绑定弹性公网IP(容器网络模型为VPC网络或容器隧道网络)。
- 给Pod IP绑定弹性公网IP(仅支持云原生2.0网络模型集群,在VPC控制台中手动为Pod的弹性网卡或辅助弹性网卡绑定弹性公网IP。不推荐使用,因为Pod被重调度后IP会变化导致新的Pod无法访问公网)。
- 通过NAT网关配置SNAT规则,通过NAT网关访问公网。
下面将详细讲解通过NAT网关访问公网的方法,NAT网关能够为VPC内的容器实例提供网络地址转换(Network Address Translation)服务,SNAT功能通过绑定弹性公网IP,实现私有IP向公有IP的转换,可实现VPC内的容器实例共享弹性公网IP访问Internet。其原理如图1所示。通过NAT网关的SNAT功能,即使VPC内的容器实例不配置弹性公网IP也可以直接访问Internet,提供超大并发数的连接服务,适用于请求量大、连接数多的服务。
您可以通过如下步骤实现容器实例访问Internet。
- 创建弹性公网IP,具体请参见申请弹性公网IP。
- 登录管理控制台。
- 在管理控制台左上角单击,选择区域和项目。
- 在控制台首页,单击左上角的,在展开的列表中单击“网络 > 弹性公网IP”。
- 在“弹性公网IP”界面,单击“购买弹性公网IP”。
- 根据界面提示配置参数。
此处“区域”需选择容器实例所在区域。
图2 购买弹性公网IP
- 创建NAT网关,具体请参见购买NAT网关。
- 在控制台首页,单击左上角的,在展开的列表中单击“网络 > NAT网关”。
- 在NAT网关页面,单击右上角的“购买公网NAT网关”。
- 根据界面提示配置参数。
此处需选择集群相同的VPC。
图3 购买公网NAT网关
- 配置SNAT规则,为子网绑定弹性公网IP,具体请参见添加SNAT规则。
- 在NAT网关页面,单击需要添加SNAT规则的NAT网关名称。
- 在SNAT规则页签中,单击“添加SNAT规则”。
- 根据界面提示配置参数。
SNAT规则是按网段生效,因为不同容器网络模型通信方式不同,此处子网需按如下规则选择。
- 容器隧道网络、VPC网络:需要选择节点所在子网,即创建节点时选择的子网。
对于存在多个网段的情况,可以创建多个SNAT规则或选择自定义网段,只要网段能包含节点子网即可。
图4 配置SNAT规则
SNAT规则配置完成后,您就可以从容器中访问公网了,从容器中能够ping通公网。