Skip to content
返回云服务

Azure Container Registry (ACR):面向 AKS 的异地复制镜像

在 Azure 上存储 Docker 镜像,含异地复制、内容信任和 ACR Tasks 推送即构建。

Docker 托管进阶

为什么

ACR 异地复制写一次从最近区域读,全球降低 AKS 拉取延迟,无需管多仓库。ACR Tasks 在 git 推送或基础镜像更新时构建,内容信任签名镜像保供应链完整性。

Docker is used by 59% of professional developers per the Stack Overflow 2024 survey。Docker Hub 有 1500 万以上公共镜像,OCI 镜像规范采用意味着容器在 Docker、Podman 和 containerd 上一致运行。

何时使用

跨区运行 AKS、需推送即构建无需单独 CI,或需镜像签名的合规负载时用。生产环境避免 Docker Desktop(250+ 员工许可证需付费)— 使用 containerd 或 Podman。

单二进制 Go/Rust 应用跳过 Docker — 静态二进制 + systemd 更简单。

如何做

1. Assess your workload requirements — compute, memory, storage, latency 2. Compare providers on price, region availability, and managed services 3. 创建 `az acr create -n myacr -g myrg --sku Premium --admin-enabled false`(Premium 支持异地复制)。登录:`az acr login -n myacr`。标签 `myacr.azurecr.io/myapp:tag`,推送。加异地复制:`az acr replication create -r eastus` 和 `-r westeurope`。AKS 附 ACR:`az aks update -n myaks -g myrg --attach-acr myacr` 授 kubelet 身份 AcrPull。启用 ACR Tasks:`az acr task create -n buildtask --image myapp:{{.Run.ID}} --context https://github.com/me/repo --git-access-token $TOKEN`。 4. Set up IaC (Terraform/Pulumi) to provision resources 5. Configure monitoring, alerts, and cost budgets before going live

示例

# 创建 Premium ACR 并异地复制 az acr create -n myacr -g myrg --sku Premium --admin-enabled false az acr replication create -n myacr -r eastus az acr replication create -n myacr -r westeurope # git 推送即构建 az acr task create -n buildtask --registry myacr \ --image myapp:{{.Run.ID}} --context https://github.com/me/repo \ --git-access-token \${TOKEN} --file Dockerfile # 附到 AKS(授 kubelet 身份 AcrPull) az aks update -n myaks -g myrg --attach-acr myacr

常见问题

  • ⚠Basic SKU 无异地复制和内容信任——升级 Premium 获这些功能。
  • ⚠Admin-enabled=true 创建弱管理员凭证;禁用并改用 IAM/托管身份。
  • ⚠异地复制 $6/副本/月累积——仅复制有真实 AKS 集群的区域。

最佳实践

  • ✓多区域 AKS 用 Premium 异地复制;单区域用 Basic/Standard。
  • ✓禁用管理员用户(--admin-enabled false),通过托管身份或 --attach-acr 授 AcrPull。
  • ✓启用内容信任(az acr config content-trust update --status enabled)并用 Notary v2 签名镜像。

常见问题解答

什么是Azure Container Registry (ACR):面向 AKS 的异地复制镜像?它解决什么问题?

在 Azure 上存储 Docker 镜像,含异地复制、内容信任和 ACR Tasks 推送即构建。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手Azure Container Registry (ACR):面向 AKS 的异地复制镜像?

两步即可跑通:① Assess your workload requirements — compute, memory, storage, latency;② Compare providers on price, region availability, and managed services。建议先用免费套餐验证流程,再接入生产环境。

Azure Container Registry (ACR):面向 AKS 的异地复制镜像 最容易踩的坑是什么?

最高频的问题是:Basic SKU 无异地复制和内容信任——升级 Premium 获这些功能。。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

Azure Container Registry (ACR):面向 AKS 的异地复制镜像 的最佳实践有哪些?

Azure Container Registry (ACR):面向 AKS 的异地复制镜像 的最佳实践包括:多区域 AKS 用 Premium 异地复制;单区域用 Basic/Standard。;禁用管理员用户(--admin-enabled false),通过托管身份或 --attach-acr 授 AcrPull。;启用内容信任(az acr config content-trust update --status enabled)并用 Notary v2 签名镜像。。其中首条「多区域 AKS 用 Premium 异地复制;单区域用 Basic/Standard。」应作为团队默认规范写入 IaC 模板。

Azure Container Registry (ACR):面向 AKS 的异地复制镜像 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Azure Container Registry (ACR):面向 AKS 的异地复制镜像 多数提供免费套餐,先在免费额度内验证再放量。