SNAT可以为VPC内无公网IP的ECS实例或集群提供访问互联网的代理服务。如果您在创建集群时未开启SNAT功能,可以通过ACK控制台为已有集群开启SNAT功能。本文介绍如何在ACK控制台为未开启公网访问的集群开启SNAT,以实现集群的公网访问能力。
背景信息
ACK暂不支持通过API方式为已有集群开启SNAT功能。关于SNAT相关的说明,请参见什么是NAT网关。
操作步骤
为已有集群开启SNAT公网访问能力的流程图及对应操作步骤如下。
创建NAT网关。
登录NAT网关管理控制台。
在左侧导航栏,单击NAT网关 > 公网NAT网关。
在公网NAT网关页面,单击创建公网NAT网关。
创建NAT网关的参数说明,请参见创建和管理公网NAT网关实例。
说明创建NAT网关时,地域和VPC的配置需要和集群的保持一致。
成功创建NAT网关后,系统会在VPC的路由表中自动添加一条目标网段为0.0.0.0/0,下一跳为NAT网关的路由条目,用于将流量路由到NAT网关。
重要默认只有VPC的第一个NAT网关,才会自动创建路由条目。对于多个NAT网关,您需手动为其配置路由。具体操作,请参见创建和管理路由表。
创建弹性公网IP。
在左侧导航栏,选择
,然后在弹性公网IP页面,单击创建弹性公网IP。如果您已经有弹性公网IP,可以跳过这一步。
绑定弹性公网IP到对应的NAT网关。
在左侧导航栏,单击NAT网关 > 公网NAT网关。
在公网NAT网关页面,找到目标NAT网关,然后在操作列下选择 。
在绑定弹性公网IP对话框中,在所在资源组下拉列表中设置资源组,然后在从已有弹性公网IP中选择下拉列表中,选择创建的弹性公网IP。然后单击确定。
为NAT网关创建SNAT条目。
在公网NAT网关页面,找到目标NAT网关,然后在其右侧,单击管理。
单击SNAT管理页签,然后单击创建SNAT条目。
在创建SNAT条目页面,配置以下参数,然后单击确定创建。
关于更多创建SNAT条目的参数配置说明,请参见创建SNAT条目。
配置
说明
SNAT条目粒度
选中交换机粒度,然后选择相应的集群网络所使用的虚拟交换机。
Terway网络:需要选中节点虚拟交换机和Pod虚拟交换机所对应ID。
Flannel网络:只需选中节点虚拟交换机所对应的ID。
若网络插件为Terway或Flannel网络,请执行以下步骤查询集群网络所使用的节点虚拟交换机ID。
登录容器服务管理控制台。
在控制台左侧导航栏中,单击集群。
在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
在集群管理页左侧导航栏中,选择
。在目标节点池右侧操作列单击详情。
在基本信息页签的节点配置区域查看节点虚拟交换机ID。
若网络插件为Terway,请执行以下步骤查询集群网络所使用的Pod虚拟交换机ID。
登录容器服务管理控制台,在左侧导航栏单击集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择
。在配置项页面顶部,设置命名空间为kube-system,单击eni-config。
在eni-config页面,vswitches对应的值,即为Pod虚拟交换机ID。
选择公网IP地址
选择用来提供互联网访问的公网IP。
创建SNAT条目并配置SNAT规则之后,集群就开启了SNAT。您可以在NAT网关管理控制台看到NAT网关的详细信息,包括SNAT使用的弹性公网IP。下图为Terway网络模式下开启了SNAT公网访问的NAT网关实例。
单击NAT网关名称,在对应NAT网关实例的SNAT管理页签中,查看并确认已绑定了正确的集群所用虚拟交换机。下图为Terway网络模式下创建的SNAT条目信息。
执行结果
登录到集群的节点上,然后访问公网,可以查看网络正常,数据包无丢失。