【问题标题】:AKS is unable to pull from ACR even after granting permissions即使在授予权限后,AKS 也无法从 ACR 中提取
【发布时间】:2020-01-04 05:07:23
【问题描述】:

我已按照此文档提供对 AKS 的 ACR 访问权限:https://docs.microsoft.com/en-us/azure/container-registry/container-registry-auth-aks,但我仍然收到身份验证失败错误。有人可以帮我弄这个吗?

env:
- name: no_cpu
  valueFrom:
    resourceFieldRef:
      containerName: proxy
      resource: requests.cpu
imagePullSecrets:
- name: acr-auth

【问题讨论】:

  • 文档中提供了两种不同的方式,那么你使用哪种方式呢?
  • 我重新创建了角色并修复了问题

标签: azure docker kubernetes azure-aks


【解决方案1】:

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

【讨论】:

  • 如果我删除它,即使在授予 aks 从 acr 中提取的权限后,我仍然会收到身份验证错误
  • 这不可能,您将权限分配给了错误的实体
【解决方案2】:

确保您已将 acrpull 角色分配给 ACR 资源上的 AKS SP(从门户、IAM 选项卡或使用脚本:

#!/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:

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>

apiVersion: v1
kind: Secret
metadata:
  name: acr-auth
type: docker-registry
data:
  username: <base64encoded username>
  password: <base64encoded password> 

两者是等价的。

【讨论】:

  • 是的,我已经分配了角色,但仍然存在身份验证错误。
  • @SaiPrasanth 那么如何创建秘密呢?命令行还是 YAML 文件?
  • 两者是等价的:kubectl create secret docker-registry acr-auth --docker-server --docker-username --docker-password --docker-email or apiVersion: v1 kind: Secret metadata: name: acr-auth type: docker-registry data: username: password:
猜你喜欢
  • 1970-01-01
  • 2020-05-15
  • 2021-10-31
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 2018-09-05
  • 2022-01-01
相关资源
最近更新 更多