运行简单的kubernetes作业的最佳方法是什么?

时间:2019-01-21 09:28:24

标签: python kubernetes

我想运行一个运行python代码并死亡的kubernetes作业。

作业将仅在主节点上运行。

我希望这项工作轻便快捷。

我认为可以有一些方法做到这一点,

  1. 制作一个包含(Docker,我需要的pip包和python源代码)的Dockerfile。

    • 有了这个,我只需要管理Dockerfile,但是如果我同时管理Dockerfile和源代码就可以了吗?
  2. 制作一个包含(python,我需要的pip包)的Dockerfile,然后运行带有-v选项安装的python源代码的容器。

    • 有了这个,我总是必须在主节点上获得最新的源代码。
  3. 制作一个包含以下内容的Dockerfile(python,我需要的pip包,以及从git存储库中获取python源代码)。

    • 我认为这是最好的版本管理方式,但是它可能比上面的方法慢。

您能给我一些有关此问题的建议吗?

还是有更好的方法?

1 个答案:

答案 0 :(得分:0)

您已在问题标题中提供了解决问题的方法。您想要实现的只是Kubernetes Job的定义。

  

一项作业会创建一个或多个吊舱,并确保指定数量的   他们成功终止。吊舱成功完成后,工作   跟踪成功完成。当指定数量的   成功完成工作,工作本身就完成了。

您可以使用预定义的python容器。就像文档中的presented一样,只是带有珍珠。或者,您可以构建自己的Docker映像。您可以使用private registry。我不知道您要在主服务器上运行pod的原因。我建议您首先检查此topic,以便您知道是和否。然后,对于版本控制,您可以创建新作业,也可以按照问题中的说明更新docker映像。

希望这是您想要的,否则,最好添加更多有关该工作的详细信息,这样我就可以获得更好的答案的背景。