rollouts icon indicating copy to clipboard operation
rollouts copied to clipboard

通过partition方式进行多批次发布,在某个批次阶段发现有问题希望执行回滚deploy

Open zhengjr9 opened this issue 1 year ago • 3 comments

rollout

apiVersion: rollouts.kruise.io/v1alpha1
kind: Rollout
metadata:
  name: rollouts-demo
  annotations:
    rollouts.kruise.io/rolling-style: partition # 使用多批次更新策略,只能配置 "partition" or "canary"
    # "partition" 意味着像 CloneSet 一样分批滚动,不会创建任何额外的 Workload
    # “canary” 表示以金丝雀方式滚动,并将创建一个金丝雀工作负载,对于Deployment默认是canary
spec:
  objectRef: # 定义工作负载
    workloadRef: # 关联需要管理的工作负载
      apiVersion: apps/v1
      kind: Deployment
      name: cxm-cce-eops-001-v1
  strategy: # 定义升级策略
    canary: # 使用 Canary 策略
      steps: # 定义多批次更新策略
        - replicas: 1
        - replicas: 50%
          pause:
            duration: 30
        - replicas: 100%

当我更新完第一批后,想通过 kubectl rollout undo 回滚服务会提示以下错误,请问该如何实现deploy回滚呢 image

zhengjr9 avatar Oct 13 '23 08:10 zhengjr9

you may apply the last applied configurations of deployment to rollback. @zhengjr9

veophi avatar Oct 25 '23 05:10 veophi

I met the same problem, maybe I can roll back through kubectl rollout history deploy/xxx --revision=x ? I hope the community can provide clear rollback methods and best practices in the documentation.

cywang1905 avatar Dec 21 '23 02:12 cywang1905

存在同样的需求,在canary的场景下,我需要的canary版本直接销毁,而老版本pod没有任何变化,我发现如果我使用上一镜像版本,使用deployment的yaml文件进行回滚,会被识别成一个新的版本,在回滚的过程中rollout会把这次识别成是一次新的canary发布,而不是直接销毁临时版本 因此我同意@cywang1905 的说法

llaqq10000 avatar Dec 29 '23 08:12 llaqq10000