OpenKruise 中cloneset有7个实例期望是一个实例都不更新,发现一个实例被更新为什么?

问题1:OpenKruise 中cloneset有7个实例,更新了clonset镜像从v1到v2,partition设置为7,期望是一个实例都不更新,发现有一个实例被更新成v2,有遇到过这个问题吗?max surge是2。
问题2:这个是什么原因呢?从日志上看有更新pod的输出。820e5c4481b56c5f2704d5952c795a41.png

展开
收起
十一0204 2023-07-19 21:28:50 104 分享 版权
2 条回答
写回答
取消 提交回答
  • 在 OpenKruise 中,Cloneset(克隆集)的设计目的是为了支持滚动更新和扩缩容等操作。但是,如果您配置 Cloneset 的期望副本数为 0,并且仍然发现有实例被更新,可能有以下几个原因:

    1. SidecarSet 的更新:在 Cloneset 中,每个 Pod 都对应一个 SidecarSet,用于定义该 Pod 的特定副本。当需要更新 Cloneset 中的副本时,OpenKruise 会根据 SidecarSet 的定义来执行更新操作。即使 Cloneset 的期望副本数为 0,但如果与 SidecarSet 相关联的 Pod 发生变化,仍然会触发更新。

    2. 控制器状态不一致:由于各种原因导致控制器(如 ReplicaSet、Deployment 或 StatefulSet)的状态与实际情况不一致,可能会导致意外的更新行为。请检查控制器的状态,并确保其与预期一致。

    3. 并发更新问题:如果同时存在多个更新操作(例如手动更新和自动更新),并且它们同时或几乎同时触发,在某些情况下可能导致意外的更新行为。在这种情况下,建议逐个检查每个更新操作的相关设置和触发条件,以确定哪个操作导致了实例的更新。

    2023-07-28 11:37:47
    赞同 展开评论
  • 意中人就是我呀!

    回答1:MaxSurge > 0 的情况下,partition 设大一点把,比如 10000 这样。
    回答2:grep 一下这条日志 ”Calculate diffs for CloneSetb75f755220619dae7873678e54659c13.png
    115f0609eac99868e83433e568e08bf0.png此回答整理至钉群“OpenKruise 社区交流群”。

    2023-07-19 23:54:31
    赞同 展开评论
问答分类:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

还有其他疑问?
咨询AI助理