Google Kubernetes引擎:ErrImagePull:链接太多

时间:2018-02-07 21:26:10

标签: docker kubernetes google-kubernetes-engine

这似乎是coreos(?)中硬链接限制的一个问题,应该使用Docker overlayfs2解决。我们不知道为什么在kubernetes(1.8)中发生这种情况,因为它应该自动垃圾收集旧图像。

有什么想法吗?

来自kubectl描述的错误:

Warning  Failed                 2m               kubelet, gke-dev-ctp-default-pool-08c10bb8-f2d1  

Failed to pull image "gcr.io/my-group/my-image:latest": rpc error: code = Unknown desc = failed to register layer: link /var/lib/docker/overlay/2f8076d1832a8a60086988b73fd2d8eec7ba38e62e9615f592d048d72d48a227/root/usr/libexec/git-core/git-merge-tree /var/lib/docker/overlay/0c6044f911da4845bac37bad4d1fcf9a7e03a7b8242cf2bf8da46e17ec23e3f9/tmproot518352995/usr/libexec/git-core/git-merge-tree: too many links

1 个答案:

答案 0 :(得分:3)

GKE目前没有使用overlayfs2。他们正在努力在GKE 1.9版中启用此功能以及新的docker版本。

解决方法是使用以下方法手动删除所有未使用的图像:

  • 检查当前的图像数量
  

$ docker images | wc -l <​​/ p>

  • 删除未使用的图片
  

$ docker image prune -a

  • 检查新的图像数量
  

$ docker images | wc -l <​​/ p>