开发者社区 > 云效DevOps > 正文

云效这个问题怎么解决?

云效这个问题怎么解决?部署单ID f46ed0fabb1c4e3a9fe466bbc81ba5b6lQLPJxDjlfYzQ3_NAzvNBgOwqDjVe3_EoAoFULuPnUC6AA_1539_827.png

展开
收起
三分钟热度的鱼 2023-11-30 16:42:50 27 0
1 条回答
写回答
取消 提交回答
  • 请顺序执行以下的排查步骤,示例中假定待发布的工作负载类型为 deployment,预期的名字为 demo-deploy,所处的命名空间为 demo-namespace.

    4.1检查 Rollout 辅助对象是否成功创建

    由于 Rollout 辅助对象会使用预期名,故可直接获取:
    kubectl get rollout demo-deploy -n demo-namespace -o=yaml
    如果没有发现 Rollout 对象生成,由技术支持人员协助排查。

    4.2 确认是否存在基线版本缺失

    根据前一步获取的 Rollout yaml,判断是否有基线版本缺失:
    spec:
    componentName: demo-deploy
    rolloutPlan:
    batchPartition: 0
    rolloutBatches:

    - replicas: 1
    rolloutStrategy: IncreaseFirst
    targetSize: 1
    

    targetRevisionName: demo-deploy-v181
    status:
    LastSourceRevision: demo-deploy-v179
    batchRollingState: batchInitializing
    conditions:
    ...
    currentBatch: 0
    lastTargetRevision: demo-deploy-v180
    rollingState: rolloutAbandoning
    rolloutTargetSize: 1
    targetGeneration: da4e412e71377443
    upgradedReadyReplicas: 0
    upgradedReplicas: 0

    请关注 status 属性下的 LastSourceRevision 和 lastTargetRevision 两个字段,它们应该对应存在的 Deployment 名字;如果 rollingState 处于 rolloutAbandoning 且 LastSourceRevision 和 lastTargetRevision 对应的 Deployment 遭删除,则发布可能如上面所示地停滞。

    如果确认 Deployment 确实遭删除,可以通过回补 Deployment 完成发布补偿,补偿后的版本将是 spec 属性中的 targetRevisionName 版本,通常是最近一次指定发布的工作负载版本。回补的 Deployment 建议设置为 0 复本,以避免不必要的资源开销或业务流量导入。

    如果没办法从其他渠道获取被删除的 deployment 细节,可以通过下面的命令获取基线数据:
    kubectl get controllerrevision demo-deploy-v180 -n demo-namespace -o=yaml
    kubectl get controllerrevision demo-deploy-v179 -n demo-namespace -o=yaml
    RevisionS
    ControllerRevision 对象中,包含了曾经发布的工作负载信息,可供参考。
    如果需要手工操纵分批发布,请修改 spec 属性下的 batchPartition 字段。请注意,batchPartition 对应分批发布批次计划中的下标,从 0(而不是从 1)开始。此回答整理自钉群“云效交付域答疑群”

    2023-11-30 17:06:08
    赞同 展开评论 打赏
问答分类:
问答地址:

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载