【问题标题】:How to pull image only from specify namespace by using ACR basic如何使用 ACR basic 仅从指定命名空间中提取图像
【发布时间】:2021-05-18 06:01:20
【问题描述】:
我在 AKS 共享集群上工作,其中有多个团队在同一个集群上工作,并且每个团队都有自己的 ACR。
我想找到方法让 ACR 仅从指定的命名空间中提取。
目前我有一个昂贵的方式
或者有人确实知道如何从具有 AcrPull 角色的服务主体中提取图像。
请告诉我。
谢谢。
【问题讨论】:
标签:
azure
azure-aks
azure-container-registry
【解决方案1】:
我找到了解决方案,无需更改 ACR 定价层,仅使用服务主体访问目标 ACR。
解决方案
-
创建service principal 并分配AcrPull 角色。
-
之后,在你的命名空间中创建 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