你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 容器注册表 SKU 功能和限制

Azure 容器注册表在多个 SKU 中可用。 这些 SKU 提供可预测的定价和多个选项,以便与 Azure 中的专用容器注册表的容量和使用情况模式保持一致。

SKU 说明
基本 供开发者了解 Azure 容器注册表的入口点(已优化过成本)。 基本注册表具有与标准版和高级版相同的编程功能(例如 Microsoft Entra 身份验证集成映像删除以及 webhook)。 但其附带的存储和映像吞吐量最适合使用较少的场景。
标准 标准注册表的功能与基本注册表相同。不同之处在于,前者附带更多的存储和映像吞吐量。 标准注册表应能够满足大部分生产方案的需求。
高级 高级注册表附带的存储和并发操作数最多,支持大容量方案。 除了更高的映像吞吐量之外,Premium 还通过 异地复制 添加了高可用性和复原能力等功能,用于跨多个区域管理单个注册表、 专用链接和专用终结点 限制对注册表的访问,以及用于大规模并发部署的更高 API 并发性和带宽吞吐量。

基本、标准和高级 SKU 都提供相同的编程功能和数据平面 API。 它们还全都受益于完全由 Azure 托管的映像存储。 Azure 容器注册表建议大多数方案使用高级 SKU,以利用其他功能和更高的限制。

注意

可以通过联系 Azure 支持部门来增加此表中列出的某些限制。 有关可增加的各种限制的详细信息,请参阅 “请求提高限制 ”部分。

SKU 功能和限制

下表详细介绍了基本、标准和高级 SKU 的功能和注册表限制。

资源 基本 标准 高级
包括的存储1 (GiB) 10 100 500
存储限制 (TiB) 40 40 40
最大映像层大小 (GiB) 200 200 200
最大清单大小 (MiB) 4 4 4
Webhook 2 10 500
异地复制 支持
可用性区域 支持 支持 支持
内容信任 支持
具有专用终结点的专用链接 支持
• 专用终结点数 200
公共 IP 网络规则 100
服务终结点 VNet 访问 预览
• 虚拟网络规则 100
客户管理的密钥 支持
具有 Microsoft Entra 角色分配的存储库范围内的权限 支持 支持 支持
具有非 Microsoft Entra 令牌和范围映射的存储库范围内的权限 支持 支持 支持
• 非 Microsoft Entra 令牌 100 500 50,000
• 非Microsoft Entra 令牌范围映射 100 500 50,000
• 每个非 Microsoft Entra 令牌范围映射的操作 500 500 500
• 每个非 Microsoft Entra 令牌范围映射的存储库2 500 500 500
匿名拉取访问 支持 支持

1在每日费率中包括的每个层级的存储。 可以使用额外的存储空间,空间上限为注册表存储上限,且每 GiB 都会产生额外每日费率。 有关费率的信息,请参阅 Azure 容器注册表定价。 如果需要超出注册表存储限制的存储空间,请联系 Azure 支持。

2content/deletecontent/readcontent/writemetadata/read 的单个操作对应于每个非 Microsoft Entra 令牌范围映射的存储库的限制。metadata/write

专用终结点限制

专用终结点仅在高级 SKU 中提供,并启用对容器注册表的安全专用网络访问。 使用专用终结点,可以使用 Azure 专用链接限制对特定 Azure 虚拟网络的注册表访问。

高级 SKU 支持每个注册表中的专用终结点数量上限。 请参阅 SKU 功能和限制表中高级 SKU 的限制。

注册表映像拉取和推送性能限制

映像拉取和推送性能主要受到 API 并发、带宽吞吐量以及大规模操作期间限流的影响。 这些因素取决于注册表 SKU、网络配置和客户端配置。

API 并发和带宽吞吐量限制

API 并发和带宽吞吐量取决于 SKU。 Higher-SKU 注册表支持更多的并发操作和更大的带宽,例如列出、删除、推送和拉取映像等数据平面操作。更高的 SKU 注册表支持更多并发操作并为数据平面操作(例如列出、删除、推送和拉取图像)提供更大的带宽。

映像拉取和推送期间的 API 并发和带宽吞吐量受以下影响:

  • 映像层的数量和大小
  • 在注册表中跨映像重用层
  • 每个操作所需的其他 API 调用
  • 并发部署的规模(例如,Kubernetes 部署同时跨多个节点拉取映像)

客户端环境因素:

  • 用于并发操作的 Docker 守护程序或 Podman 配置
  • 容器运行时配置,例如 containerd 或 CRI-O 的并发设置
  • 群集配置或群集数据平面设置

网络因素:

  • 从客户端到注册表的网络跃点的网络带宽和延迟
  • 客户端网络配置(例如防火墙规则、代理设置)
  • 与注册表(或最近的副本,如果是异地复制)之间的地理距离

有关在推送和拉取映像期间发生的 API 操作的详细信息,请参阅 Docker HTTP API V2 文档。

有关故障排除,请参阅 注册表性能疑难解答

示例

将单个 133 MB nginx:latest 映像推送到 Azure 容器注册表需要对映像的五个层执行多个读取和写入 API作,所有这些都会消耗带宽吞吐量和 API 并发性:

  • 读取映像清单的读取操作(如果映像清单存在于注册表中)
  • 写入映像的配置 blob 的写入操作
  • 写入映像清单的写入操作

节流和带宽限制

在请求量高峰期,可能会遇到 HTTP 429 Too many requests 错误或带宽吞吐量减缓的限制。 若要缓解这些问题,请执行以下步骤:

  • 使用指数退避实现重试逻辑
  • 降低并发请求的速率
  • 错开大规模部署的时间,以减少跨多个节点同时拉取映像的次数

注意

如果遇到永久性 API 限制或带宽吞吐量缓慢的情况,请参阅 请求增加限制 ,了解有关联系 Azure 支持部门的信息,讨论提高注册表的映像拉取/推送性能限制。

注册表存储限制

Azure 完全管理注册表存储,这些存储因 SKU 而异。 每个 SKU 包含一定量的免费存储,额外存储按每 GB 收费。 每个 SKU 也有不同的最大存储限制。

显示注册表使用情况

使用 Azure CLI 中的 az acr show-usage 命令、Azure PowerShell 中的 Get-AzContainerRegistryUsage注册表 - 列出使用情况 REST API 获取注册表当前存储消耗和其他资源的快照,与该注册表 SKU 的限制相比。 门户中注册表的“概述”页上也会显示存储使用量

使用信息有助于在注册表接近限制时就 更改 SKU 做出决策。 此信息还可帮助你管理使用

注意

注册表的存储使用情况应该只能用作指导,可能不会反映最近的注册表操作。 监视注册表的 StorageUsed 指标以获取最新数据。

根据注册表的 SKU,使用情况信息包括以下部分或全部信息,以及该 SKU 中的限制:

1在异地复制的注册表中,会显示主区域的存储使用情况。 乘以使用的总存储量的复制数。

更改库存单位 (SKU)

可以使用 Azure CLI 或在 Azure 门户中更改注册表的 SKU。 只要切换到的 SKU 具有所需的最大存储容量,就可以在 SKU 之间自由移动。

在 SKU 之间移动时,不会造成注册表停机或影响注册表的操作。

Azure CLI

若要在 Azure CLI 中的 SKU 之间移动,请使用 az acr update 命令。 例如,若要切换到高级 SKU,请使用以下命令:

az acr update --name myContainerRegistry --sku Premium

Azure PowerShell

若要在 Azure PowerShell 中的服务 SKU 之间移动,请使用 Update-AzContainerRegistry cmdlet。 例如,若要切换到高级 SKU,请使用以下命令:

Update-AzContainerRegistry -ResourceGroupName myResourceGroup -Name myContainerRegistry -Sku Premium

Azure 门户

在 Azure 门户中的容器注册表“概述”中,选择“更新”,然后从“SKU”下拉列表中选择一个新 SKU

在 Azure 门户中更新容器注册表 SKU

定价

有关每个 Azure 容器注册表 SKU 的定价信息,请参阅 容器注册表定价

有关数据传输定价的详细信息,请参阅带宽定价详细信息

请求调高限制

如果需要增加注册表的限制,请联系 Azure 支持 人员讨论:

  • 增加专用终结点限制
  • 如果遇到节流、API 并发性低或带宽缓慢的情况,请提高镜像拉取/推送性能。
  • 增加存储限制

后续步骤

Azure 容器注册表路线图

访问 GitHub 上的 路线图 ,查找有关服务中即将推出的功能的信息。