配置内网访问控制

最近更新时间:2023-10-20 16:30:51

我的收藏

操作场景

腾讯云容器镜像服务(Tencent Container Registry,TCR)企业版支持内网访问控制,可基于内网访问链路限制私有网络内的客户端访问实例。在容器计算的实际生产场景中,通过内网拉取容器镜像可有效提升拉取速度,并避免公网带宽成本。TCR 支持将用户的私有网络接入至企业版实例中,以实现内网访问及网络访问控制。
本文档介绍如何在 TCR 企业版实例中配置内网访问控制。完成以下配置后,您可使用在指定私有网络 VPC 内的云服务器通过内网拉取指定 TCR 实例内镜像。或在 TKE 等容器集群中实现集群内网拉取容器镜像,详情请参见 TKE 集群使用 TCR 插件内网免密拉取容器镜像

前提条件

在配置 TCR 企业版实例的内网访问控制前,您需要完成以下准备工作:
如使用子账号进行操作,请参考 企业版授权方案示例 提前为子账号授予对应实例的操作权限。
已开通 私有网络 VPC 服务,并在企业版实例所在地域具有可用的私有网络及子网。
已开通 私有域解析 PrivateDNS 服务。

操作步骤

新建访问链路

1. 登录 容器镜像服务 控制台,选择左侧导航栏中的访问控制 > 内网访问
2. 内网访问页面中,单击接入私有网络
3. 在弹出的新建内网访问链路窗口中,配置私有网络及子网信息。如下图所示:


所属实例:开启内网访问策略的目标实例,可在内网访问页面顶部的实例下拉框中修改。
地域:当前需要接入的私有网络所在的地域,默认与所属实例地域相同。如果当前实例已开启多地域复制特性,且在多个地域内配置了复制实例,此处可新选择复制实例所在地域,接入复制地域的私有网络。详情可参见 配置实例复制
私有网络
可接入的私有网络。在下拉列表中选择当前实例所在地域可用的私有网络。
私有网络内任一子网。请选择该私有网络下内网 IP 仍有空余的子网。新建私有网络访问链路将占用该子网内的一个内网 IP 地址,并作为实例域名的内网解析目标地址。该子网仅用于分配内网访问地址,链路创建完成后,该私有网络下任意子网内云服务器均可通过该链路访问 TCR 企业版实例。
4. 配置完成并单击确定,该内网访问链路将启动新建。 等待访问链路状态转变为链路正常时,且内网解析IP不为空时,则说明该内网访问链路已创建成功。


注意
实例访问域名仅默认配置了公网解析,接入指定私有网络后,并获得内网解析IP后,请单击管理自动解析,配置实例域名在该私有网络内的专用内网解析。

管理内网解析

内网访问链路建立完成后,关联的私有网络 VPC 内云服务器访问该内网解析 IP ,即可通过内网访问该实例。默认情况下,实例默认域名(如 tcr-demo.tencentcloudcr.com)及内网域名(如 tcr-demo-vpc.tencentcloudcr.com)在该私有网络内不会自动解析至该内网解析 IP,需使用管理自动解析功能配置内网解析,或使用自建 DNS 服务自行管理。

使用私有域解析 PrivateDNS 自动配置(默认方式)

本产品默认使用腾讯云私有域解析 PrivateDNS 服务配置私有网络内的域名解析,使用此功能需首先开通该服务。
1. 登录 容器镜像服务 控制台,选择左侧导航栏中的访问控制 > 内网访问
2. 内网访问页面中,单击已创建成功的内网访问链路右侧的管理自动解析
3. 在弹出的管理自动解析窗口中,配置该链路的域名解析。如下图所示:


解析服务:当前 PrivateDNS 服务的开通状态。如尚未开通服务,请单击开通服务跳转至 PrivateDNS 开通服务。使用此功能不会在 PrivateDNS 产品侧产生额外费用。
解析配置:默认不开启。单击可开启默认域名的自动解析。开启后,本实例域名在私有网络内将解析至内网 IP x.x.x.x ,不再默认解析至实例公网访问地址,用于内网推送,拉取镜像,无需手动或使用 TCR 插件配置此域名解析。
高级配置:可配置自动解析 VPC 域名。VPC 域名是面向私有网络的专用域名,您可在私有网络内使用该专用域名,用于和公网环境内使用的默认域名进行区分。请注意,镜像仓库默认提供的是默认域名的访问地址及相关操作指引,如您选择使用 VPC 专用域名,请注意同时调整镜像仓库访问地址的相关配置。
4. 配置完成并单击确认

使用 TCR 插件自动配置

此方案适用于 PrivateDNS 在容器服务 TKE 集群所在地域尚未提供服务时选用,默认不推荐使用。
如果当前您正在使用容器服务 TKE,请参考 TCR 说明 在 TKE 集群中安装 TCR 插件,并在 “TCR组件参数设置”窗口中勾选"启用内网解析功能"。该插件可自动为集群内节点配置关联 TCR 实例的内网解析,可实现内网免密拉取实例内镜像。

手动配置云服务器 Host

此方案适用于需要临时访问企业版实例的云服务器或在私有网络自建 Kubernetes 集群的节点。默认不推荐使用。
以 Linux 云服务器为例,登录至云服务器,并执行以下命令:
echo '172.16.1.95 techo-demo.tencentcloudcr.com' >> /etc/hosts
172.21.17.69demo.tencentcloudcr.com 请替换为您实际使用的内网解析 IP 及 TCR 实例域名。