gpt4 book ai didi

azure-aks - 无法拉取图像 - 未经授权 : authentication required (ImagePullBackOff )

转载 作者:行者123 更新时间:2023-12-04 14:18:42 25 4
gpt4 key购买 nike

我的发布管道成功运行并在 Azure Kubernetes 中创建了一个容器,但是当我在 azure Portal>Kubernetes service> Insights 屏幕中查看时,它显示失败。

它无法从我的私有(private)容器存储库中拉取图像,并显示错误消息“ImagePullBackOff”

我在 pod 上执行了 kubectl describe 并收到以下错误消息:

Failed to pull image "myexampleacr.azurecr.io/myacr:13": [rpc error: code = Unknown desc = Error response from daemon: Get https://myexampleacr.azurecr.io/v2/myacr/manifests/53: unauthorized: authentication required.

以下是我的设置的简要背景:我正在使用 Kubernetes secret 访问私有(private)容器注册表中的容器。

我根据我的 DevOps 团队创建的服务原则使用 clientId 和密码( secret )生成了 Kubernetes secret 。 .用于生成kubernetes secret的命令:

kubectl create secret docker-registry acr-auth --docker-server --docker-username --docker-password --docker-email

然后我用 imagePullSecrets: name:acr-auth 更新了我的 deployment.yaml

此后,我运行部署和发布管道都成功运行,但它们在 kubernetes 服务中显示失败并显示错误消息“ImagePullBackOff”错误。

任何帮助将不胜感激。

最佳答案

如错误所示,它需要身份验证。从你的描述来看,可能的原因是你的团队没有将ACR角色分配给你的团队创建的服务主体,或者你使用了错误的服务主体。所以你需要检查两件事:

  1. 如果您使用的服务委托(delegate)人拥有 ACR 的正确许可。
  2. 如果 Kubernetes secret 是在 Kubernetes 服务中创建的。

检查service principal是否有ACR正确权限的方法是在docker server中用service principal登录后在ACR中拉取镜像。另外,正如评论所说,您需要确保命令正确,如下所示:

kubectl create secret docker-registry acr-auth --docker-server myexampleacr.azurecr.io --docker-username clientId --docker-password password --docker-email yourEmail

此外,您使用带有标签的错误图像的可能性很小。顺便看看。

关于azure-aks - 无法拉取图像 - 未经授权 : authentication required (ImagePullBackOff ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57469214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com