首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSR352 WebSphere自由批处理的Kubernetes滚动更新

JSR352 WebSphere自由批处理的Kubernetes滚动更新
EN

Stack Overflow用户
提问于 2020-01-27 18:49:19
回答 1查看 76关注 0票数 0

我有一个Kubernetes批处理作业在WebSphere集群上运行,扩展到10个pods。每个pod都有相同的代码库,并且每个pod都有多个JSR批处理作业。我想做滚动更新和零停机。

根据文档(https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-terminating-with-grace),我们可以创建停止前关闭钩子来捕获SIGTERM,并在terminationGracePeriodSeconds之前完成最后的清理活动,Kubernetes发出强制终止并退出容器。

我想知道的是,假设一个批处理作业已经在运行,如果我进行更新/重新部署,是否可以等到正在运行的作业完成,或者更新不运行作业的pod?

EN

回答 1

Stack Overflow用户

发布于 2020-01-27 23:38:10

我不知道有什么方法可以推迟关机,直到工作自然完成。通常,人们会尝试停止正在运行的作业,然后稍后重新启动它们。如果您可以确定哪些作业正在此服务器上运行,则可以对这些作业发出停止命令,并等待它们完成(通过检查作业状态),然后才允许服务器终止。如果您很好地停止了服务器,那么它将自动尝试停止作业,但只会等待一小段时间(30秒?)在关闭服务器之前。

停止正在运行的作业很棘手,因为它们不一定会停止。例如,如果作业正在执行Batchlet,那么Batchlet的stop( )方法将被驱动,但是批处理应用程序可以自由地忽略它,什么也不做(或者可能无法执行任何操作来停止,这取决于步骤的作用)。

至于阻止新工作进入服务器,这取决于工作是如何进入服务器的(有几种不同的可能性)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59929644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档