Kubernetes:无法从私有容器注册表中拉取镜像。

8

我正在使用Azure进行持续部署,我的秘钥名称是 "cisecret"。

kubectl create secret docker-registry cisecret --docker-username=XXXXX --docker-password=XXXXXXX --docker-email=SomeOne@outlook.com --docker-server=XXXXXXXXXX.azurecr.io

在我的Visual Studio Online发布任务中 kubectl runSecrets部分下
密钥类型:dockerRegistry
容器注册表类型:Azure容器注册表
密码名称:cisecret

我的发布成功了,但是当代理到kubernetes时

无法拉取镜像 xxxxxxx 未授权:需要身份验证。


你的YAML文件是什么? - pb100
@przemolb,我没有deployments.yaml文件,基本上我查看了这个视频AKS on Azure。非常感谢任何帮助。链接--> https://www.youtube.com/watch?v=HMIxLaisKiI - Herman
4个回答

1
我需要授予 AKS 访问 ACR 的权限。
请参考链接此处

2
很遗憾,链接已经失效。 - rudolf_franek

1

这可能是由于您的容器名称造成的吗?我曾经遇到过一个问题,我的Kubernetes YAML文件中没有正确地在图像名称前面添加ACR域,这意味着我没有指向容器注册表/镜像,因此我的密钥(正常工作)似乎出现了问题。

您能否发布您的YAML文件?也许有些简单的错误,因为从密钥的角度来看,似乎您走在了正确的轨道上。


你能看一下这个视频吗?我没有deployments.yaml --> https://www.youtube.com/watch?v=HMIxLaisKiI - Herman

0

我尝试将参数放在VSO下的参数中,但它不起作用。我认为该链接与其他环境有关。 - Herman

0
请在yaml文件中添加以下内容。 imagePullSecrets: - name: acr-auth

当您将其粘贴为代码片段时,它会更有用。 - Andrzej Sydor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接