为集群开启访问公网的能力

更新时间:2025-03-12 06:06

如果集群内部的服务需要访问外部公网资源,例如拉取公网镜像、更新依赖库等,您可以通过控制台为新建集群或已有集群配置SNAT网关功能,以便开启集群访问公网的能力。

说明

如需实现集群的公网访问,让外部可以通过公网访问集群的API Server,例如通过kubectl管理集群等,请参见控制集群API Server的公网访问能力使用阿里云EIP暴露API Server

计费说明

开启SNAT功能时会涉及以下产品:

  • NAT网关:阿里云全托管的网络地址转换网关,通过转换和隐藏云服务地址,防止地址直接暴露,实现安全访问互联网提升网络安全性。相关计费,请参见公网NAT网关计费

  • 弹性公网 IP(EIP):可以独立购买和持有的公网IP地址资源。当EIP和云资源绑定后,云资源可以通过EIP与公网通信。相关计费,请参见按量付费

操作步骤

您可以在创建集群时或在已有集群中配置SNAT条目,使得集群可以通过公网NAT网关绑定的EIP访问互联网。

说明

ACK暂不支持通过API方式为已有集群开启SNAT功能。

在已有集群中开启
创建集群时开启

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

image
  1. 创建NAT网关。

    NAT网关地域需与集群地域保持一致。

    1. 登录NAT网关管理控制台

    2. 在左侧导航栏,选择NAT网关 > 公网NAT网关

    3. 公网NAT网关页面,单击创建公网NAT网关,参数配置完成后,单击立即购买。更多创建NAT网关的参数说明,请参见创建和管理公网NAT网关实例

      重要

      在VPC内创建第一个公网NAT网关时,阿里云会在VPC的系统路由表中自动添加一条目标网段为0.0.0.0/0,下一跳为公网NAT网关的路由条目,用于将流量引入公网NAT网关。若VPC内存在自定义路由表或多个公网NAT网关,则需手动添加路由。具体操作,请参见创建和管理路由表

  2. (可选)创建弹性公网IP。如果您已经有弹性公网IP,可以跳过此步。

    1. 在左侧导航栏,选择公网访问 > 弹性公网IP

    2. 然后在弹性公网IP页面,单击创建弹性公网IP,地域和NAT网关处于同一地域,参数设置完成后,单击立即购买

  3. 绑定弹性公网IP到对应的NAT网关。

    1. 在左侧导航栏,选择NAT网关 > 公网NAT网关

    2. 公网NAT网关页面,找到目标NAT网关,然后在其右侧操作列选择1 > 绑定弹性公网IP

    3. 绑定弹性公网IP对话框中,在所在资源组下拉列表中设置资源组,然后在从已有弹性公网IP中选择下拉列表中,选择已创建的弹性公网IP后,单击确定

  4. 为NAT网关创建交换机粒度的SNAT条目。

    1. 公网NAT网关页面,找到目标NAT网关,然后在其右侧操作列单击管理

    2. 单击SNAT管理页签,然后单击创建SNAT条目

    3. 创建SNAT条目页面,配置以下参数,然后单击确定创建。更多创建SNAT条目的参数配置说明,请参见创建SNAT条目

      配置项

      说明

      SNAT条目粒度

      选中交换机粒度,然后选择相应的集群网络所使用的虚拟交换机,可以选择多个。

      • Terway网络:需要选中节点虚拟交换机和Pod虚拟交换机所对应的ID。

      • Flannel网络:只需选中节点虚拟交换机所对应的ID。

      展开查看如何获取虚拟交换机ID

      • 获取节点虚拟交换机ID

        1. 登录容器服务管理控制台,在左侧导航栏单击集群列表

        2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择节点管理 > 节点池

        3. 在节点池页面,单击目标节点池名称,然后单击基本信息页签,在节点配置区域查看节点虚拟交换机ID。image

      • 获取Pod虚拟交换机ID

        1. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择配置管理 > 配置项

        2. 配置项页面顶部,设置命名空间kube-system,单击eni-config

          eni-config页面,vswitches对应的值,即为Pod虚拟交换机ID。

          Pod虚拟交换机ID

      选择弹性公网IP地址

      选择用来提供互联网访问的公网IP。

    创建SNAT条目并配置SNAT规则之后,集群就开启了SNAT。您可以在NAT网关管理控制台查看NAT网关的详细信息,包括SNAT使用的弹性公网IP。下图为Terway网络模式下开启了SNAT公网访问的NAT网关实例。NAT

登录容器服务管理控制台创建集群时,在网络配置区域,选中为专有网络配置SNAT。创建集群相关操作,请参见创建ACK托管集群image

重要

在VPC内创建第一个公网NAT网关时,阿里云会在VPC的系统路由表中自动添加一条目标网段为0.0.0.0/0,下一跳为公网NAT网关的路由条目,用于将流量引入公网NAT网关。若VPC内存在自定义路由表或多个公网NAT网关,则需手动添加路由。具体操作,请参见创建和管理路由表

执行结果

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

SNAT 2

常见问题

如何查看集群公网IP地址?

  1. 登录NAT网关管理控制台

  2. 在左侧导航栏,选择NAT网关 > 公网NAT网关

  3. 公网NAT网关页面,找到目标NAT网关,然后在其右侧操作列单击管理

  4. 单击SNAT管理页签,在SNAT条目列表区域,查看集群使用的弹性公网IP等信息。snat

相关文档

  • 本页导读 (1)
  • 计费说明
  • 操作步骤
  • 执行结果
  • 常见问题
  • 如何查看集群公网IP地址?
  • 相关文档
文档反馈