如果集群内部的服务需要访问外部公网资源,例如拉取公网镜像、更新依赖库等,您可以通过控制台为新建集群或已有集群配置SNAT网关功能,以便开启集群访问公网的能力。
如需实现集群的公网访问,让外部可以通过公网访问集群的API Server,例如通过kubectl管理集群等,请参见控制集群API Server的公网访问能力使用阿里云EIP暴露API Server。
计费说明
开启SNAT功能时会涉及以下产品:
NAT网关:阿里云全托管的网络地址转换网关,通过转换和隐藏云服务地址,防止地址直接暴露,实现安全访问互联网提升网络安全性。相关计费,请参见公网NAT网关计费。
弹性公网 IP(EIP):可以独立购买和持有的公网IP地址资源。当EIP和云资源绑定后,云资源可以通过EIP与公网通信。相关计费,请参见按量付费。
操作步骤
您可以在创建集群时或在已有集群中配置SNAT条目,使得集群可以通过公网NAT网关绑定的EIP访问互联网。
ACK暂不支持通过API方式为已有集群开启SNAT功能。
为已有集群开启SNAT公网访问能力的流程图及对应操作流程如下。
创建NAT网关。
NAT网关地域需与集群地域保持一致。
登录NAT网关管理控制台。
在左侧导航栏,选择NAT网关 > 公网NAT网关。
在公网NAT网关页面,单击创建公网NAT网关,参数配置完成后,单击立即购买。更多创建NAT网关的参数说明,请参见创建和管理公网NAT网关实例。
在VPC内创建第一个公网NAT网关时,阿里云会在VPC的系统路由表中自动添加一条目标网段为0.0.0.0/0,下一跳为公网NAT网关的路由条目,用于将流量引入公网NAT网关。若VPC内存在自定义路由表或多个公网NAT网关,则需手动添加路由。具体操作,请参见创建和管理路由表。
(可选)创建弹性公网IP。如果您已经有弹性公网IP,可以跳过此步。
在左侧导航栏,选择
。然后在弹性公网IP页面,单击创建弹性公网IP,地域和NAT网关处于同一地域,参数设置完成后,单击立即购买。
绑定弹性公网IP到对应的NAT网关。
在左侧导航栏,选择NAT网关 > 公网NAT网关。
在公网NAT网关页面,找到目标NAT网关,然后在其右侧操作列选择
。在绑定弹性公网IP对话框中,在所在资源组下拉列表中设置资源组,然后在从已有弹性公网IP中选择下拉列表中,选择已创建的弹性公网IP后,单击确定。
为NAT网关创建交换机粒度的SNAT条目。
在公网NAT网关页面,找到目标NAT网关,然后在其右侧操作列单击管理。
单击SNAT管理页签,然后单击创建SNAT条目。
在创建SNAT条目页面,配置以下参数,然后单击确定创建。更多创建SNAT条目的参数配置说明,请参见创建SNAT条目。
配置项
说明
SNAT条目粒度
选中交换机粒度,然后选择相应的集群网络所使用的虚拟交换机,可以选择多个。
Terway网络:需要选中节点虚拟交换机和Pod虚拟交换机所对应的ID。
Flannel网络:只需选中节点虚拟交换机所对应的ID。
选择弹性公网IP地址
选择用来提供互联网访问的公网IP。
创建SNAT条目并配置SNAT规则之后,集群就开启了SNAT。您可以在NAT网关管理控制台查看NAT网关的详细信息,包括SNAT使用的弹性公网IP。下图为Terway网络模式下开启了SNAT公网访问的NAT网关实例。
登录容器服务管理控制台。创建集群时,在网络配置区域,选中为专有网络配置SNAT。创建集群相关操作,请参见创建ACK托管集群。
在VPC内创建第一个公网NAT网关时,阿里云会在VPC的系统路由表中自动添加一条目标网段为0.0.0.0/0,下一跳为公网NAT网关的路由条目,用于将流量引入公网NAT网关。若VPC内存在自定义路由表或多个公网NAT网关,则需手动添加路由。具体操作,请参见创建和管理路由表。
执行结果
登录集群的节点,然后访问公网,可以看到网络正常,数据包无丢失。
常见问题
如何查看集群公网IP地址?
登录NAT网关管理控制台。
在左侧导航栏,选择NAT网关 > 公网NAT网关。
在公网NAT网关页面,找到目标NAT网关,然后在其右侧操作列单击管理。
单击SNAT管理页签,在SNAT条目列表区域,查看集群使用的弹性公网IP等信息。
相关文档
关于Pod访问外网的注意事项,例如如何配置域名解析、网络策略、安全组等,请参见Pod访问外部网络时的注意事项。
关于集群安全组规则推荐配置,请参见配置集群安全组。
请勿在集群中同时配置SNAT和IPv4网关。关于节点配置IPv4网关的操作请参见使用IPv4网关集中控制公网访问流量。