Kuperator v0.6.0 发布啦!

科技   2024-09-24 18:12   浙江  


KusionStack 团队很高兴向大家宣布对 Operating 项目进行品牌升级,并更名为 Kuperator。本次品牌升级给予该项目更多的使命和职责,计划引入更多能力,如多集群渐进式发布、Controller 可观测等。此外项目 API 已迁移至 kusionstack/kube-api 便于统一管理。


本次 v0.6.0 版本主要更新以下功能:

  • 提供 Pod 批量运维框架 OperationJob,允许用户自定义运维能力;

  • 优化 CollaSet Pod 替换功能在升级与异常场景的体验;

  • 集成 E2E 测试,提升项目质量;


您可以从 GitHub 查看本次发布信息,或者按照 KusionStack 官方网站指引完成安装来体验这个版本:
  • https://github.com/KusionStack/kuperator/releases/tag/v0.6.0
  • https://www.kusionstack.io/kuperator/started/install

Feature 更新摘要





01

批量 Pod 运维框架 OperationJob

OperationJob Workload 负责对一批 Pod 进行一次性运维,并提供 Pod 运维脚手架以降低用户开发成本。OperationJob 为 Pod 运维能力提供了一层抽象接口,开发者只需以插件的方式实现并注入运维功能;同时,也可选地提供了 Pod 运维生命周期对 PodOpsLifecycle 的对接,以实现运维时流量无损变更。

OperationJob 目前支持替换,并计划提供更多运维能力如摘流、重建、指定缩容等。更多细节可以参考 Kuperator 官方文档:https://www.kusionstack.io/kuperator/manuals/operationjob


02

优化 CollaSet Pod 替换功能在升级与异常场景下的体验

Kuperator 支持用户手动给 Pod 添加替换标签触发替换,替换过程为先扩后缩。标签内容如下:

apiVersion: v1
kind: Pod
metadata:
  labels:
    ...
    podopslifecycle.kusionstack.io/to-replace: "true"
...

v0.6.0 版本优化了以下 2 个替换场景的体验:

场景1替换过程中,CollaSet 升级,若扩出 Pod 还未交付,期望将替换与升级动作合并,重新替换出新版本 Pod。如下图,Pod1 在替换到 Pod2 过程中,CollaSet 由版本1升级到版本2,且 Pod2 还未交付;此时 Pod2 将被删除,并重新替换出版本2的 Pod3。

场景2当替换过程中出现异常情况,期望可以取消替换,并恢复到替换前状态。如下图,Pod1 替换扩出的 Pod2 长时间无法交付或故障,若用户需取消替换流程,则可通过删除 Pod1 替换标签以取消替换,此时 CollaSet 将删除 Pod2 并清理现场,且Pod1 恢复替换前状态。


03

完善 E2E 测试,提升项目质量

为提升项目质量,减轻开发者负担,在代码合并前快速发现功能缺陷,我们完善了 Kuperator 仓库的 E2E 流水线,在真实集群中完成端到端用例测试。目前 E2E 覆盖了 CollaSet 与 OperationJob 用例,未来将持续完善 PodTransitionRule 与 PodDecoration 用例。


Bug 修复



  • 修复多容器 Pod 原地升级无法结束的问题;

  • 修复 Pod 缩容顺序不符合预期的问题;

  • 修复同时发布多个版本时老版本无法结束升级的问题;

  • 修复替换过程中 Pod 被升级时控制器崩溃的问题;

  • 修复替换过程中 Pod 被指定缩容或删除时崩溃的问题;

  • 修复 PodOpsLifecycle 设置 ReadinessGate 并发不一致问题;

  • 修复 CollaSet 与 PodDecoration 升级时没有相互独立的问题;

  • 修复 CollaSet 扩容失败 Condition 未透出的问题;

  • 修复 PodDecoration 注入 volume 顺序不稳定的问题;


了解更多



感谢所有 KusionStack 用户和社区小伙伴在此次版本更新过程中提出的宝贵反馈与意见,更多其它资源请参考:
  • 项目 GitHub 网站:https://github.com/KusionStack/kuperator
  • KusionStack 官网:https://www.kusionstack.io



项目相关 Star 一下✨
https://github.com/kcl-lang/kcl
https://github.com/KusionStack/kusion
https://github.com/KusionStack/karpor
https://github.com/KusionStack/kuperator
https://github.com/KusionStack/resourceconsist
https://github.com/KusionStack/controller-mesh
https://github.com/KusionStack/konfig


金融级分布式架构
致力于打造一流的分布式技术在金融场景应用实践的技术交流平台,专注于交流金融科技行业内最前沿、可供参考的技术方案与实施路线。
 最新文章