我在minikube中创建kubevirt,最初是kubevirt-operator.yaml在ImagePullBackOff中失败。在我把秘密加进yaml之后
imagePullSecrets:
- name: regcred
containers:我所有的病毒操作员都开始运行了。virt* pods仍然显示ImagePullBackOff。错误的结果是
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 27m default-scheduler Successfully assigned kubevirt/virt-api-787487d9cd-t68qf to minikube
Normal Pulling 25m (x4 over 27m) kubelet Pulling image "us-ashburn-1.ocir.io/xxx/virt-api:v0.54.0"
Warning Failed 25m (x4 over 27m) kubelet Failed to pull image "us-ashburn-1.ocir.io/xxx/virt-api:v0.54.0": rpc error: code = Unknown desc = Error response from daemon: pull access denied for us-ashburn-1.ocir.io/xxx/virt-api, repository does not exist or may require 'docker login': denied: Anonymous users are only allowed read access on public repos
Warning Failed 25m (x4 over 27m) kubelet Error: ErrImagePull
Warning Failed 25m (x6 over 27m) kubelet Error: ImagePullBackOff
Normal BackOff 2m26s (x106 over 27m) kubelet Back-off pulling image "us-ashburn-1.ocir.io/xxx/virt-api:v0.54.0" 手动,我可以拉相同的图像与码头登录。任何帮助将不胜感激。谢谢
发布于 2022-07-21 11:35:04
这个停靠映像看起来像是在一个私有注册表中(以及来自甲骨文)。我猜雷格雷德是不对的。你能用码头登录登录那里吗?如果是这样的话,您可以像这样创建regcred秘密
$ kubectl create secret docker-registry regcred --docker-server=<region-key>.ocir.io --docker-username='<tenancy-namespace>/<oci-username>' --docker-password='<oci-auth-token>' --docker-email='<email-address>'还请查看本oracle教程:https://www.oracle.com/webfolder/technetwork/tutorials/obe/oci/oke-and-registry/index.html
发布于 2022-07-21 12:41:10
在这里你可以找到将秘密值实现到群集的步骤。
如果您使用的是私有注册表,请检查您的秘密是否存在,并且这个秘密是正确的。您的秘密也应该在同一个名称空间中。
您的Minikube是一个VM,而不是您的本地主机。你试试这个
这个终端是有效的。如果是关闭的终端,再次打开终端并写入eval $(小型码头-env)
eval $(minikube docker-env)此代码在Minikube中生成图像。
此外,尝试使用船坞登录在所有节点上登录停靠程序。
还有一篇很长的博客文章描述了如何在深度这里中调试图像回退。
发布于 2022-07-21 09:07:22
嘿,如果你看起来像这里。我想你可以找到一些有用的文件。
他们正在做的是上传dockerconfig文件,该文件将登录凭据作为一个秘密,然后在部署中引用该文件。
您可以尝试遵循这些步骤,并做一些类似的事情。如果能用,请告诉我。
https://stackoverflow.com/questions/73060793
复制相似问题