docker - Kubernetes 集群中计划作业的推荐架构是什么?
问题描述
Kubernetes 集群中计划作业的推荐架构是什么?
考虑以下情况:您有某种工作,希望每 24 小时运行一次,大约需要 2 小时才能完成。例如,让它成为从某些网站抓取信息的解析器。
您希望它在您的 Kubernetes 集群中运行,因此您将其封装在 Docker 映像中。
docker 约定建议将容器视为可执行文件,因此您可以使用解析器脚本作为 Dockerfile 中的默认命令:
CMD nodejs /src/parser.js
但是现在在 Kuberntes 中,当解析器完成时,容器会随之死亡,并会立即重新启动。
解决这个问题,您可以将其他一些 bash 脚本指定为CMD
. 该脚本将无限期运行,并且每 24 小时运行一次解析器脚本。然而,这意味着你已经失去了你的形象的这个好属性,不能只是这样做
docker run my-parser-image
那么 Kuberntes 有没有办法每 xx 小时运行一次容器,如果它再次运行失败?更广泛地说,在 Kuberntes 集群中运行计划的容器化作业的建议方法是什么?
解决方案
推荐阅读
- pine-script - 在 TradingView 警报菜单中看不到 line.new 对象来构建多参数警报(更少、更大等)
- ms-access - 如何在使用新版本打开时替换前端数据库
- reactjs - TypeError:state.slice 不是函数(redux)
- swift - 如何在 SwiftUI 生命周期中删除 macOS 中的最大化、最小化和关闭按钮?
- r - 来自 gmp 的 big int 不能与 R 中的 Reduce(accumulate) 一起正常工作
- python - python函数返回不必要的元组值
- python - 热显示来自 django 表单的最新保存的图像?
- pandas - .apply() 中填充 nan 值的条件语句不起作用
- android - 如何在 Recycler View GridLayout 中更改跨度大小期间显示进度条?
- angular - 将可本地化的文本文件添加到 Angular