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