我有很多一次性码头工人在我的项目中生成一个输出文件,它们很小但是需要花费很多资源,所以k8s是最好的选择。在这种情况下,我按kubectl run --restart=Never
启动pod而不使用任何复制控制器。因此,输出文件无法保证,我必须自己处理它们,包括:
要删除成功的豆荚,似乎没有" - rm"在docker中的k8s中的参数,以及传递给docker命令的方法,因此kubectl delete pods --all
应该是唯一的选择。更糟糕的是,所有pod状态都是Error
或ExitCode:0
,但幸运的是,输出文件生成成功。
要重新启动失败的pod,我现在真的不知道。
那么,它看起来很愚蠢,还是有更好的解决方案?
提前致谢!
答案 0 :(得分:0)
删除失败/成功的广告连播
kubelet已内置garbage collecting并从节点退出容器。此外,还有一个clean the actual objects from etcd的gc控制器。
重启失败的播客。
这样做的方法是通过复制控制器。听起来像你想要restartPolicy=OnFailure?