你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 容器注册表在多个 SKU 中可用。 这些 SKU 提供可预测的定价和多个选项,以便与 Azure 中的专用容器注册表的容量和使用情况模式保持一致。
| SKU | 说明 |
|---|---|
| 基本 | 供开发者了解 Azure 容器注册表的入口点(已优化过成本)。 基本注册表具有与标准版和高级版相同的编程功能(例如 Microsoft Entra 身份验证集成、映像删除以及 webhook)。 但其附带的存储和映像吞吐量最适合使用较少的场景。 |
| 标准 | 标准注册表的功能与基本注册表相同。不同之处在于,前者附带更多的存储和映像吞吐量。 标准注册表应能够满足大部分生产方案的需求。 |
| 高级 | 高级注册表附带的存储和并发操作数最多,支持大容量方案。 除了更高的映像吞吐量之外,Premium 还通过 异地复制 添加了高可用性和复原能力等功能,用于跨多个区域管理单个注册表、 专用链接和专用终结点 限制对注册表的访问,以及用于大规模并发部署的更高 API 并发性和带宽吞吐量。 |
基本、标准和高级 SKU 都提供相同的编程功能和数据平面 API。 它们还全都受益于完全由 Azure 托管的映像存储。 Azure 容器注册表建议大多数方案使用高级 SKU,以利用其他功能和更高的限制。
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 支持。
2、content/delete、content/read、content/write、metadata/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 支持 人员讨论:
- 增加专用终结点限制
- 如果遇到节流、API 并发性低或带宽缓慢的情况,请提高镜像拉取/推送性能。
- 增加存储限制
后续步骤
Azure 容器注册表路线图
访问 GitHub 上的 路线图 ,查找有关服务中即将推出的功能的信息。