【问题标题】:Getting "unauthorized: authentication required" when pulling ACR images from Azure Kubernetes Service从 Azure Kubernetes 服务中提取 ACR 图像时获取“未经授权:需要身份验证”
【发布时间】:2018-08-21 07:52:32
【问题描述】:

我遵循了guide here(授予 AKS 对 ACR 的访问权限),但当 Pod 尝试从 ACR 拉取图像时,我仍然收到“未经授权:需要身份验证”。

bash 脚本执行时没有任何错误。我已经尝试删除我的Deployment 并从头开始创建它kubectl apply -f ...,没有运气。

我想避免使用第二种使用秘密的方法。

【问题讨论】:

    标签: docker kubernetes azure-container-service azure-container-registry azure-aks


    【解决方案1】:

    您在问题中发布的链接是从 Azure Kubernetes 服务使用 Azure 容器注册表进行身份验证的正确步骤。我之前试过,效果很好。

    所以我建议您可以在命令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> 中检查service-principal-ID 和service-principal-password 是否正确。并且您在 yaml 文件中设置的秘密也应该检查是否与您创建的秘密相同。

    【讨论】:

    • 大约一个小时后问题似乎自行解决了。我只是不断地删除 pod,最终它拉出了图像。很奇怪。
    • @Jeff 哦,太奇怪了。
    【解决方案2】:

    Jeff & Charles - 我也遇到过这个问题,但发现问题的实际原因是 AKS 试图从不存在的容器注册表中提取图像标记(例如最新的)。当我将其更新为可用的标记(例如 9)时,azure kubernetes 服务 (AKS) 上的部署脚本成功运行。

    我已对指南的产品反馈发表评论,要求改进错误消息上下文以反映此根本原因。

    希望这会有所帮助! :)

    【讨论】:

      【解决方案3】:

      就我而言,我遇到了这个问题,因为我的时钟不同步。我在适用于 Linux 的 Windows 子系统上运行,因此运行 sudo hwclock -s 解决了我的问题。

      更多讨论请见this GitHub thread

      【讨论】:

        猜你喜欢
        • 2018-10-16
        • 2019-12-19
        • 2019-08-24
        • 1970-01-01
        • 2017-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多