kind使用Helm部署,uninstall未删除所有资源,空间越占越大?

287 阅读1分钟

这个问题我不想多说,现在已经是北京时间晚上10点半了,我要赶着下班,所以一切从简。

起因

部署用的是Kind,helm install部署之前会去uninstall之前的内容,但是效果并没有像所想那样,这件事一开始没人发现,由于我们使用的是CICD自动化部署,结果后来突然线上的mongo挂了,发现磁盘空间一点没给剩,最后纠察到原因是helm在部署的时候保留了原来的image镜像。

经过

最初的紧急做法是删除原有的kind包重新部署,随着项目越来越多,这种做法逐渐变得繁琐起来,不得不寻找造成这个问题的根本原因。

但是由于kubectl和helm权限的局限性,并且k8s为了保证底层逻辑的不可见,将docker API封装了,无法正常调用docker prune,只能另外寻找办法

结果

kind集成了ctr和crictl工具,万幸,能用。

crictl工具是docker API某种程度上的替代,可以使用crictl images命令查询当前kind所有镜像,对应的是docker imagescrictl rmi -q或者crictl rmi --prune命令清除当前所有未被使用的镜像,对应的命令是docker images prune

问题解决。