我们在AWS节点上设置了DC / OS(版本1.9)群集。我们正在创建Marathon应用程序定义,并设置" taskKillGracePeriodSeconds" = 60 。我们还在应用程序中捕获SIGTERM以优雅地处理应用程序关闭。但这并不是很糟糕,马拉松会立即杀死应用程序(按比例缩小/销毁)而不是按预期等待60秒。我们正在回复SIGTERM,但应用程序在此之后立即被杀死。我们还尝试启动Mesos slave代理,在文件/ var / lib / dcos / mesos-slave-common中设置以下属性 MESOS_ATTRIBUTES = executor_shutdown_grace_period:60secs; docker_stop_timeout:60s ecs 但这也没有帮助。
DCOS群集代理使用 centos-release-7-2.1511.el7.centos.2.10.x86_64 操作系统。
是否有人能够成功使用 taskKillGracePeriodSeconds 。
请帮忙解决这个问题。
感谢。
答案 0 :(得分:1)
您使用的是Docker容器吗?
据我记得在使用进程组(=容器)转发SIGTERM信号时出现了问题。
只是要在您的群集上对此进行测试,您是否可以使用以下命令部署应用程序,只使用mesos容器和10秒的taskKillGracePeriodSeconds?
陷阱“回声'杀死'&&睡眠5&&回声'测试'&&睡眠100”SIGTERM&&睡100000