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

Docker 手动删除kubernetes(GKE)上未使用的图像,docker,kubernetes,google-cloud-platform,kubectl,google-kubernetes-engine,Docker,Kubernetes,Google Cloud Platform,Kubectl,Google Kubernetes Engine,我正在Google云平台上运行一个托管kubernetes集群,其中有一个用于开发的节点 但是,当我过于频繁地更新Pod映像时,ImagePull步骤会失败,因为启动磁盘中的磁盘空间不足 我注意到,根据文档,图像应该是自动GC编辑的,但我不知道GKE上的设置是什么,也不知道如何更改它 我可以使用kubectl或谷歌云控制台命令手动触发未使用的图像清理吗 我如何检查/更改上面的GC设置,以便将来不会遇到此问题 由于垃圾收集器是一个自动服务,所以GCP中没有kubectl命令或任何其他命令来手动触

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

但是,当我过于频繁地更新Pod映像时,ImagePull步骤会失败,因为启动磁盘中的磁盘空间不足

我注意到,根据文档,图像应该是自动GC编辑的,但我不知道GKE上的设置是什么,也不知道如何更改它

  • 我可以使用
    kubectl
    或谷歌云控制台命令手动触发未使用的图像清理吗
  • 我如何检查/更改上面的GC设置,以便将来不会遇到此问题

  • 由于垃圾收集器是一个自动服务,所以GCP中没有kubectl命令或任何其他命令来手动触发垃圾收集器

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

    我能提供的唯一解决办法是在谷歌计算引擎中使用。这将为您提供对集群主节点的访问,以便您可以根据自己的喜好灵活配置集群


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

    这是有道理的,但这是否意味着每次遇到磁盘大小问题时,唯一的解决方案就是完全删除节点引导磁盘?我已经编辑了答案。请看我答案中以“编辑”开头的部分