OpenKruise中gracePeriodSeconds 这个参数将pod置为notready的时间和生命周期hook的执行时间 有先后顺序不。
OpenKruise中的gracePeriodSeconds
参数表示在将Pod置为NotReady状态之前等待的时间,以秒为单位。而生命周期hook的执行时间是在Pod被标记为NotReady之后发生的。因此,它们之间没有先后顺序关系。
gracePeriodSeconds
参数是 OpenKruise 中 Kubernetes 对象创建或删除时的一种超时机制,用来控制对象被完全创建或删除所需要的时间。如果超过这个时间,即使对象还未完全创建或删除,它会被强制删除或替换。
在 Kruise 中,gracePeriodSeconds
参数会在 Kubernetes 中的对象被标记为 NotReady
之前生效。这意味着生命周期钩子的执行会在 gracePeriodSeconds
过期之前开始。换句话说,生命周期钩子的执行时间在 gracePeriodSeconds
参数的值之后,两者之间不存在先后顺序的关系。
但是,在 Kruise 中,如果有多个生命周期钩子,它们的执行顺序可能会受到影响。具体而言,如果两个生命周期钩子在 gracePeriodSeconds
参数的值之内执行,那么它们的执行顺序会按照它们在钩子列表中的顺序进行。如果没有满足这个条件,那么它们的执行顺序则不确定,具体取决于 Kruise 的实现方式。
因此,为了确保在 Kruise 中的生命周期钩子按照预期的顺序执行,建议在编写 Kruise 改造时遵循良好的编码规范,并在必要时添加适当的注释和文档,以使其他人更容易理解和维护您的代码。
hook 在前,先 hook 然后才会到升级的逻辑,gracePeriodSeconds是包含在升级的逻辑里面。此答案整理至钉群“OpenKruise 社区交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。