云效部署单超时原因是什么?部署单ID:d6e85c0c10824df6b2b1685addcf4d9e
云效部署单超时的原因可能有很多种,以下是一些可能的原因:
针对以上问题,可以尝试以下解决方案:
请顺序执行以下的排查步骤,示例中假定待发布的工作负载类型为 deployment,预期的名字为 demo-deploy,所处的命名空间为 demo-namespace.
由于 Rollout 辅助对象会使用预期名,故可直接获取:
kubectl get rollout demo-deploy -n demo-namespace -o=yaml
根据前一步获取的 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 复本,以避免不必要的资源开销或业务流量导入。此回答整理自钉群“云效交付域答疑群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。