优雅的终止java_优雅的pod终止

我需要让容器在 kubectl ' termination. It needs to do some work before it'被破坏后运行5分钟 . 看来kubernetes正是我所需要的:

terminationGracePeriodSeconds: 300

所以我在我的yaml中定义了它 . 我已经更新了运行 RCs ,删除了当前的pod,因此创建了新的pod,现在我可以通过 get pod xyz -o=yaml 看到pod正好包含此设置 .

不幸的是,当我试图做 rolling-update 时,原来的吊舱在1分钟后被杀死,而不是在5分钟后 . 我确实ssh到目标机器,我可以看到docker在这段时间之后终止了容器 .

我试着调查一下这个功能是如何工作的 . 我终于找到了 kubectl delete 的文档,其中有一个关于优雅终止期的概念:

默认情况下,所有删除在30秒内都是正常的 . kubectl delete命令支持--grace-period =选项,该选项允许用户覆盖默认值并指定自己的值 . 值0表示删除应该是立即的,并立即删除API中的pod,以便可以使用相同的名称创建新的pod . 在被强制终止之前,设置为立即终止的节点pod仍将被给予一个小的宽限期

所以我拿了一个pod,nginx,并尝试用 grace-period=30 删除它 . 事实证明,原始pod立即被删除,并且 get pods 显示正在启动新的pod .

所以没有30秒 . 我究竟做错了什么?似乎所有pods kubernetes都没有考虑这些值 . 请注意,我正在使用kubernetes v1.2.2

我也发现了这个问题https://github.com/kubernetes/kubernetes/issues/24695记者有同样的问题,他以同样的方式解决了这个问题 . 所以例如对于kubernetes而言,300秒并不算太多 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值