首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优雅地在mesos-马拉松中进行滚动部署

如何优雅地在mesos-马拉松中进行滚动部署
EN

Stack Overflow用户
提问于 2016-05-30 17:09:12
回答 2查看 845关注 0票数 0

目前,如果使用mesos-马拉松框架部署新版本的docker映像,则具有旧映像的容器将获得SIGTERM,3秒后将得到SIGKILL并立即终止。

如果我们将框架与马拉松-lb(haproxy包装器)集成,这些容器继续处于旋转状态(haproxy继续向其发送通信量),直到触发下一个健康检查(它发生在由haproxy进行内部可配置的内部)。因此,在这段时间内发送到这些容器的所有请求最终都将得到5XX。那么,在SIGKILL之前,是否有办法将容器从马拉松-lb中分离出来。

即使将健康检查间隔设置为3秒,也无法保证良好的部署,因为下一次健康检查与马拉松将SIGKILL发送到容器的3秒之间可能存在竞争条件,而且当后端节点数量增加时,将健康检查间隔设置为1秒是不可能的。还有其他方法可以做到这一点吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-31 09:22:21

有三个选项可以为您工作。

  1. 正如@Tobi建议的那样,看看马拉松的蓝绿色部署吧。
  2. 您可以增加executor_shutdown_grace_period或减少(正如您所提到的,这不是您的一个选项),您可以将代理健康检查间隔缩短两倍于优美周期。
  3. 有点烦人,但是当您的应用程序获得SIGTERM时,您的应用程序可能会从hacky本身取消注册。
票数 0
EN

Stack Overflow用户

发布于 2016-05-31 08:57:49

您可能会看到马拉松文档中的蓝绿色部署页面:

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

https://stackoverflow.com/questions/37530747

复制
相关文章

相似问题

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