关于如何更新 kubernetes 作业的困惑
Confusion about how to update kubernetes jobs
我非常期待6月中下旬Kubernetes v1.3的发布,这样我就可以访问cron调度作业了。与此同时,我打算做的是:
- 在我的 Kubernetes 集群上部署一个作业
- 使用 jenkins 作为 cron 工具以定义的时间间隔(例如 1 小时)触发作业。
我有两个问题:
如何更新工作?对于复制控制器,我会简单地进行滚动更新,但在作业 API 规范 (http://kubernetes.io/docs/user-guide/jobs/) 中没有关于如何执行此操作的详细信息。例如,假设我想在每次执行 git 提交时使用我的 jenkins 部署系统来更新作业。
是否可以使用 kubernetes API 来触发作业?例如,我有一个正在运行的作业,然后 pod 在完成时终止。然后,1个小时后,我又想用jenkins触发job
非常感谢!
我不确定是否有任何奇特的方法来触发已完成的作业,但一种方法是删除并重新创建作业。
回复:滚动更新:长 运行 pods 所必需的,这是 RC 控制的。
对于作业:您可以更新 jobSpec 中的 podTemplateSpec,这将确保更新后作业创建的任何新 pod 都将具有更新的 podTemplateSpec(注意:已经 运行 pods 不会受到影响)。
希望对您有所帮助!
我非常期待6月中下旬Kubernetes v1.3的发布,这样我就可以访问cron调度作业了。与此同时,我打算做的是:
- 在我的 Kubernetes 集群上部署一个作业
- 使用 jenkins 作为 cron 工具以定义的时间间隔(例如 1 小时)触发作业。
我有两个问题:
如何更新工作?对于复制控制器,我会简单地进行滚动更新,但在作业 API 规范 (http://kubernetes.io/docs/user-guide/jobs/) 中没有关于如何执行此操作的详细信息。例如,假设我想在每次执行 git 提交时使用我的 jenkins 部署系统来更新作业。
是否可以使用 kubernetes API 来触发作业?例如,我有一个正在运行的作业,然后 pod 在完成时终止。然后,1个小时后,我又想用jenkins触发job
非常感谢!
我不确定是否有任何奇特的方法来触发已完成的作业,但一种方法是删除并重新创建作业。
回复:滚动更新:长 运行 pods 所必需的,这是 RC 控制的。 对于作业:您可以更新 jobSpec 中的 podTemplateSpec,这将确保更新后作业创建的任何新 pod 都将具有更新的 podTemplateSpec(注意:已经 运行 pods 不会受到影响)。
希望对您有所帮助!