SNAT可以为VPC内无公网IP的ECS实例或集群提供访问互联网的代理服务。如果您在创建集群时未开启SNAT功能,可以通过ACK控制台为已有集群开启SNAT功能。本文介绍如何在ACK控制台为未开启公网访问的集群开启SNAT,以实现集群的公网访问能力。

背景信息

ACK暂不支持通过API方式为已有集群开启SNAT功能。关于SNAT相关的说明,请参见什么是NAT网关

操作步骤

为已有集群开启SNAT公网访问能力的流程图及对应操作步骤如下。

创建SNAT
  1. 创建NAT网关。
    1. 登录NAT网关管理控制台
    2. 在左侧导航栏,单击NAT网关
    3. NAT网关页面,单击创建NAT网关
      创建NAT网关的参数说明,请参见创建公网NAT网关实例
      说明 创建NAT网关时,地域和VPC的配置需要和集群的保持一致。
    成功创建NAT网关后,系统会在VPC的路由表中自动添加一条目标网段为0.0.0.0/0,下一跳为NAT网关的路由条目,用于将流量路由到NAT网关。
    注意 默认只有VPC的第一个NAT网关,才会自动创建路由条目。对于多个NAT网关,您需手动为其配置路由。具体操作,请参见添加和删除路由表中的路由条目
  2. 创建弹性公网IP。
    在左侧导航栏,选择弹性公网IP > 弹性公网IP,然后在弹性公网IP页面,单击创建弹性公网IP

    如果您已经有弹性公网IP,可以跳过这一步。

  3. 绑定弹性公网IP到对应的NAT网关。
    1. NAT网关页面,找到目标NAT网关,然后在其右侧选择1 > 绑定弹性公网IP
    2. 绑定弹性公网IP对话框中,在所在资源组下拉列表中设置资源组,然后在从已有弹性公网IP中选择下拉列表中,选择创建的弹性公网IP。
    3. 单击确定
  4. 为NAT网关创建SNAT条目。
    1. NAT网关页面,找到目标NAT网关,然后在其右侧,单击管理
    2. 单击SNAT管理页签,然后单击创建SNAT条目
    3. 创建SNAT条目页面,配置以下参数,然后单击确定创建
      关于更多创建SNAT条目的参数配置说明,请参见创建SNAT条目
      配置 说明
      SNAT条目粒度 选中交换机粒度,然后选择相应的集群网络所使用的虚拟交换机。
      • Terway网络:需要选中节点虚拟交换机和Pod虚拟交换机所对应ID。
      • Flannel网络:只需选中节点虚拟交换机所对应的ID。
      若网络插件为Terway或Flannel网络,请执行以下步骤查询集群网络所使用的节点虚拟交换机ID。
      1. 登录容器服务管理控制台
      2. 在控制台左侧导航栏中,单击集群
      3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
      4. 在集群管理页左侧导航栏中,选择节点管理 > 节点池
      5. 在目标节点池右侧操作列单击详情
        节点配置区域查看节点虚拟交换机ID。Flannel网络
      若网络插件为Terway,请执行以下步骤查询集群网络所使用的Pod虚拟交换机ID。
      1. 登录容器服务管理控制台
      2. 在左侧导航栏,单击集群,然后在集群列表中单击目标集群名称或目标集群右侧操作列下的详情
      3. 在集群信息页面,单击集群资源页签,然后查看Pod虚拟交换机ID。Pod虚拟交换机
      选择公网IP地址 选择用来提供互联网访问的公网IP。
    创建SNAT条目并配置SNAT规则之后,集群就开启了SNAT。您可以在NAT网关管理控制台看到NAT网关的详细信息,包括SNAT使用的弹性公网IP。下图为Terway网络模式下开启了SNAT公网访问的NAT网关实例。NAT
    单击NAT网关名称,在对应NAT网关实例的SNAT管理页签中,查看并确认已绑定了正确的集群所用虚拟交换机。下图为Terway网络模式下创建的SNAT条目信息。snat

执行结果

登录到集群的节点上,然后访问公网,可以查看网络正常,数据包无丢失。

SNAT 2