4

我按照此处的指南(授予 AKS 访问 ACR),但是当 Pod 尝试从 ACR 中提取图像时,我仍然得到“未经授权:需要身份验证”。

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

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

4

3 回答 3

4

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

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

于 2018-08-21T08:51:54.277 回答
2

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

我已经评论了指南的产品反馈,要求改进错误消息上下文以反映这个根本原因。

希望这可以帮助!:)

于 2018-11-14T01:15:09.273 回答
0

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

请参阅此 GitHub 线程以进行更长时间的讨论。

于 2021-05-02T12:38:35.670 回答