首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AKS即使在授予权限后也无法从ACR拉取

AKS即使在授予权限后也无法从ACR拉取
EN

Stack Overflow用户
提问于 2019-08-31 12:57:12
回答 2查看 496关注 0票数 0

我已经按照这个文档提供了对AKS:https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-aks的ACR访问,但是仍然得到了身份验证失败的错误。有人能帮我一下吗?

代码语言:javascript
复制
env:
- name: no_cpu
  valueFrom:
    resourceFieldRef:
      containerName: proxy
      resource: requests.cpu
imagePullSecrets:
- name: acr-auth
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-31 18:08:58

确保已将acrpull角色分配给ACR资源上的AKS SP (从入口、在IAM选项卡上或使用以下脚本:

代码语言:javascript
复制
#!/bin/bash

AKS_RESOURCE_GROUP=myAKSResourceGroup
AKS_CLUSTER_NAME=myAKSCluster
ACR_RESOURCE_GROUP=myACRResourceGroup
ACR_NAME=myACRRegistry

# Get the id of the service principal configured for AKS
CLIENT_ID=$(az aks show --resource-group $AKS_RESOURCE_GROUP --name $AKS_CLUSTER_NAME --query "servicePrincipalProfile.clientId" --output tsv)

# Get the ACR registry resource id
ACR_ID=$(az acr show --name $ACR_NAME --resource-group $ACR_RESOURCE_GROUP --query "id" --output tsv)

# Create role assignment
az role assignment create --assignee $CLIENT_ID --role acrpull --scope $ACR_ID

)。

然后通过命令行创建pull secret:

代码语言:javascript
复制
kubectl create secret docker-registry acr-auth --docker-server <acr-login-server> --docker-username <service-principal-ID> --docker-password <service-principal-password> --docker-email <email-address>

代码语言:javascript
复制
apiVersion: v1
kind: Secret
metadata:
  name: acr-auth
type: docker-registry
data:
  username: <base64encoded username>
  password: <base64encoded password> 

两者是等价的。

票数 0
EN

Stack Overflow用户

发布于 2019-08-31 15:10:47

您需要从pod\deployment定义中删除imagepullsecrets属性。这样,您将指示kubernetes使用内部ak\acr身份验证

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57735301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档