好的,我有一个Minikube设置和部署Helm图表。这个图表主要来自一个我需要验证的仓库。
我为那个仓库做了一个kubectl create secret
,大部分图像都拉得很好。只有一个(总是相同的)不会被拉出来,错误是Authentication is required
。
我如何才能找出为什么这个确切的图像失败,而来自同一个存储库的所有其他图像(相同的身份验证和所有内容)都工作正常?
顺便说一句:当我在Minikube容器中做docker login
和docker pull
inside 时,一切都很好...
1条答案
按热度按时间yks3o0rb1#
由于错误显示的图片为
requires authentication
,因此该图片可能是私有图片。要解决此问题,您可以使用“kubectl create secret docker-registry”
命令创建一个拉取密码,并将其添加到服务帐户的拉取密码列表中,或者使用“imagePullSecrets”
列表将其直接添加到部署中。使用Kubectl将您的密钥应用到集群:
现在,您必须更新pod的清单,以指示Kubernetes在获取映像时使用创建的secret
将更新的pod manifest应用到集群。下一次拉入尝试现在应该成功。Kubernetes将能够对注册表进行身份验证并下载映像。
请注意,当您使用身份验证但指定了无效的用户名或密码时,也可能出现
pull access denied
错误的变体。在这种情况下,您应该检查pod的imagePullSecrets
以确保它引用了正确的secret。您可以参考Austin Dawey和James walker编写的文档,了解有关imagePullSecrets故障排除的更多信息。