首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes无法从其他节点删除docker镜像

问Kubernetes无法从其他节点删除docker镜像
EN

Stack Overflow用户
提问于 2020-03-30 23:45:30
回答 3查看 560关注 0票数 0

我需要了解如何使用Kubernetes删除docker镜像。我使用Jenkins实现管道自动化,而Jenkins只能访问主节点,而不能访问从节点。因此,当我生成deploy时,一切都运行得很好,deploy使从属程序从存储库中拉出,然后我让所有东西都运行起来。

但是,如果Jenkins终止部署并尝试删除映像,它只会删除主节点上的映像,而不会删除其他从节点上的映像。所以我不想手动删除图像。

有没有办法从主节点删除从节点上的镜像?

EN

回答 3

Stack Overflow用户

发布于 2020-03-31 05:17:41

Kubernetes负责删除镜像,kubelet负责对节点进行垃圾回收,包括镜像删除,是可定制的。不建议通过外部方法删除图像,因为这些工具可能会通过删除预期存在的容器来破坏kubelet的行为。

Kubelet验证可用于图像的存储空间是否超过85%,在这种情况下,它会删除一些图像以腾出空间。可以在/var/lib/kubelet/config.yaml文件中自定义最小阈值和最大阈值

imageGCHighThresholdPercent是磁盘使用率的百分比,超过此百分比后将始终运行映像垃圾收集。

ImageGCHighThresholdPercent是磁盘使用率百分比,在此百分比之前从未运行过映像垃圾收集。要垃圾收集到的最低磁盘使用率。

默认值为:

ImageGCHighThresholdPercent 85

ImageGCLowThresholdPercent 80

票数 3
EN

Stack Overflow用户

发布于 2020-03-31 05:16:38

当磁盘使用率超过85% (默认设置)时,Kubelet最终会对旧的未使用图像进行垃圾回收。否则kubernetes不会提供用于删除图像的远程接口。

要做到这一点,需要对每个节点执行类似SSH的操作,或者运行一个具有管理底层容器运行时权限的Daemonset。参见Mr.Axe answer for the Docker/SSH variant。

票数 1
EN

Stack Overflow用户

发布于 2020-03-31 05:12:34

在主节点上,您可以将shell脚本/ansible playbook写入ssh到从节点中,并删除镜像-

代码语言:javascript
复制
docker images -f "dangling=true" -q | xargs --no-run-if-empty docker rmi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60934272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档