【发布时间】:2019-09-28 12:36:38
【问题描述】:
我想使用 Kubernetes 安排三个顺序任务。这三个任务是:
1- 从 URL 下载文件
2- 处理文件
3- 将文件放入网络服务器(必须先配置服务器并在其上安装一些模块)
我想我可以使用Kubernetes jobs 来做到这一点,但我没有找到执行此类任务的示例。
另外,我不知道如何在使用之前先配置网络服务器。是否可以从服务器创建 Docker 映像、对其进行配置并最终从中获取快照?
编辑: 作为第一步,我只想创建一个下载文件的作业。我找不到任何样本;我该怎么做?
【问题讨论】:
-
@VasilyAngapov:我看到了这个话题,但我的目标是两个部分:我不知道是否可以在 Kubernetes yaml 文件中使用已配置的 docker 镜像;而且我不知道我的场景的最佳实践是什么,例如使用 pods、jobs、docker images 必须如何使用。
-
Kubernetes 没有用于顺序作业的内置逻辑。我用 initContainers 给出的链接中投票最多的答案是我相信最好的方法。这有点hacky和肮脏,但它会起作用。
-
像 RabbitMQ 这样的作业队列也很适合这个空间。 (在带有 PersistentVolumeClaim 的 StatefulSet 中运行 RabbitMQ,并通过可扩展的 Deployment 运行 worker,并且根本不使用 Jobs。)
标签: docker kubernetes jobs