手动删除kubernetes(GKE)上未使用的图像

时间:2018-07-18 06:33:42

标签: docker kubernetes google-cloud-platform kubectl google-kubernetes-engine

我正在Google Cloud Platform上运行一个托管的kubernetes集群,其中有一个用于开发的节点。

但是,当我过于频繁地更新Pod映像时,由于引导磁盘中的磁盘空间不足,ImagePull步骤将失败。

我注意到应该根据文档自动对图像进行GC处理,但是我不知道GKE上的设置是什么或如何更改。

https://kubernetes.io/docs/concepts/cluster-administration/kubelet-garbage-collection/#image-collection

  1. 我可以使用kubectl或Google Cloud控制台命令手动触发未使用的映像清理吗?
  2. 如何检查/更改上面的GC设置,以免日后再遇到此问题?

1 个答案:

答案 0 :(得分:1)

由于Garbage Collector是一项自动化服务,因此GCP中没有kubectl命令或其他任何命令可以手动触发Garbage Collector。

关于第二个查询,垃圾收集器由主节点处理。用户无法访问主节点,因为它是一项托管服务。因此,用户无法使用GKE配置垃圾收集。

我唯一可以提供的解决方法是在Google Compute Engine中访问create a custom cluster from scratch。这将使您能够访问群集的“主”节点,因此您可以根据自己的喜好灵活配置群集。

编辑:如果需要删除旧映像,建议使用docker命令删除旧映像。我已经附上了一篇github文章,其中提供了几个可以在节点级别运行的命令,以删除旧图像here