如何使用 ACR basic 仅从指定命名空间中拉取图像

How to pull image only from specify namespace by using ACR basic

我在 AKS 共享集群上工作,其中有多个团队在同一个集群上工作,每个团队都有自己的 ACR。

我想找到允许 ACR 仅从指定命名空间中提取的方法。

目前我所拥有的虽然是一种昂贵的方式

或者有人确实知道如何从具有 AcrPull 角色的服务主体中拉取映像。 请告诉我。

谢谢。

我找到了不更改 ACR 定价层的解决方案,只使用服务主体来访问目标 ACR。

解决方案

  1. 创建 service principal 并分配 AcrPull 角色。

  2. 之后,在您的命名空间中创建 kubernetes secret 以通过 ImagePullSecrets

    拉取镜像
    kubectl create secret docker-registry <secret-name> \
        --namespace <namespace> \
        --docker-server=<container-registry-name>.azurecr.io \
        --docker-username=<service-principal-ID> \
        --docker-password=<service-principal-password>
    

reference