kubernetes 拉取镜像失败

gk7wooem  于 2023-06-21  发布在  Kubernetes
关注(0)|答案(3)|浏览(301)

我在这里学习有关kserve https://github.com/kserve/modelmesh-serving/blob/main/docs/quickstart.md的教程
这是我的docker&k8s问题吗?我花了几个小时试图调试,但无济于事。
我得到以下错误:

Events:
  Type     Reason     Age    From               Message
  ----     ------     ----   ----               -------
  Normal   Scheduled  4m20s  default-scheduler  Successfully assigned modelmesh-serving/modelmesh-serving-mlserver-0.x-77cc8fd548-xdgvr to minikube
  Normal   Pulling    4m18s  kubelet            Pulling image "kserve/modelmesh:v0.9.0-rc0"
  Normal   Pulled     3m18s  kubelet            Successfully pulled image "kserve/modelmesh:v0.9.0-rc0" in 59.419620166s
  Normal   Created    3m18s  kubelet            Created container mm
  Normal   Started    3m17s  kubelet            Started container mm
  Normal   Pulling    3m17s  kubelet            Pulling image "seldonio/mlserver:0.5.2"
  Warning  Failed     68s    kubelet            Failed to pull image "seldonio/mlserver:0.5.2": rpc error: code = Unknown desc = context deadline exceeded
  Warning  Failed     68s    kubelet            Error: ErrImagePull
  Normal   Pulling    68s    kubelet            Pulling image "kserve/modelmesh-runtime-adapter:v0.9.0-rc0"
kyxcudwk

kyxcudwk1#

您尝试拉取的映像已存在并且可用here。但是,从我所看到的,它是非常大的(2.74 GB)。这可能意味着您在提取图像时遇到超时。
根据您的Kubernetes集群和用例,您可以执行以下操作:

  • 尝试几次,它会在某个时候拉图像
  • 增加kubelet中的--runtime-request-timeout
  • 执行docker pull seldonio/mlserver:0.5.2
rkkpypqq

rkkpypqq2#

正如@ RafałLeszko所提到的,您试图拉取的图像“seldonio/mlserver:0.5.2”非常大,可能会引发错误:ErrImagePull:上下文截止日期错误。您仍然可以使用docker pull拉取映像,然后调度成功。
当超时时,kubelet将取消请求,抛出一个错误。可能的解决方法是通过配置文件(在/var/lib/kubelet中)设置或增加参数--runtime-request-timeout duration,调整超时,然后通过运行命令**docker pull imagename**拉取镜像。
有关详细信息,请参阅kubelet-config-file

pdsfdshx

pdsfdshx3#

这很可能与你的形象太大有关。
我会在你的部署文件里
在容器的规范中,添加一个带有请求和限制的资源,例如

resources:
        requests:
          cpu: 100m
          memory: 256Mi
        limits:
          cpu: 500m
          memory: 512Mi

相关问题