OpenKruise中rollout多批次发布中duration是不是不起作用呀?我设置了三个批次1,50%,100%,在50%批次中设置了duration,就一直没有进入第三个批次。Processing,message 显示让我手动进入第三阶段。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在OpenKruise中,rollout多批次发布中的duration确实不起作用。在您的情况下,您设置了三个批次1(0%),50%和100%(100%)。在50%批次中设置了duration,但是没有进入第三个批次。这可能是由于某些原因导致的。
首先,请确保您的Kubernetes集群支持滚动更新。如果不支持,您可能需要升级您的集群或使用其他方法来实现多批次发布。
其次,检查您的应用程序是否已经准备好接受新的流量。在50%批次中设置的duration可能会导致应用程序在这个阶段无法正常处理请求。
最后,您可以尝试手动进入第三个批次。在OpenKruise控制台中,找到您的部署,然后点击“操作”按钮,选择“手动执行”。这将使您的应用程序进入第三个批次。
OpenKruise 中的 rollout 多批次发布功能确实存在一些限制和注意事项。其中一个常见的问题是 duration 不生效的问题。
在 OpenKruise 中,您可以设置每一批次的 rollout 步骤和 pauseduration。当您设置 duration 时,您可以指定 pause 时间(例如 5 分钟),在此期间 OpenKruise 不会对下一步骤进行处理。但是,如果您不设置 duration,则默认为 0 秒,也就是不暂停。
然而,在实践中,有些时候即使您设置了 duration,也可能不起作用。这是因为 OpenKruise rollout 中有另外两个变量会影响 rollout 的流程:maxUnavailable 和 maxSurge。
maxUnavailable 和 maxSurge 变量决定了在同一时间内可以有多少 Pod 进行更新。如果您设置了较大的 maxUnavailable 或 maxSurge 值,那么可能会导致 duration 不起作用,因为它可能导致短时间内过多的 Pod 更新,超过了 duration 设置的范围。
因此,为了使 duration 起作用,您需要同时考虑到 maxUnavailable 和 maxSurge 的设置,以及每个批次的具体内容和数量。