代码之家  ›  专栏  ›  技术社区  ›  north.mister

Google Kubernetes引擎:ErrImagePull:链接太多

  •  0
  • north.mister  · 技术社区  · 8 年前

    这似乎是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 回复  |  直到 8 年前
        1
  •  3
  •   cryotek    8 年前

    GKE目前未使用overlayfs2。他们正在GKE版本1.9和新docker版本中启用此功能。

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

    • 检查当前图像数

    $docker图片| wc-l

    • 删除未使用的图像

    $docker图像修剪-a

    • 检查新图像数

    $docker图片| wc-l