SuperAPI AI 工具集

progressive-delivery

部署与运维

查看项目

更新于 10-15 23:42

技能介绍

用途:在 Kubernetes 上安全地推进版本,覆盖两类互补能力。Argo Rollouts 用 Rollout CRD 替代 Deployment,支持金丝雀、蓝绿以及基于指标门控的自动化分析,在集群或服务网格层做流量切分。Kargo 在 GitOps 之上扩展晋升逻辑,跟踪 Freight(版本化产物包),经 Warehouse(来源)与验证步骤在 Stage(开发→预发→生产)间推进。ArgoCD 负责同步期望状态到集群;Rollouts 决定单次部署中的流量比例;Kargo 决定下一环境何时收到新版本。

主要能力与用法:金丝雀/蓝绿/指标门控的单工作负载发布参考 References/argo-rollouts.md;跨环境带手动或自动门控的晋升参考 References/kargo.md。两者结合时,Kargo 触发 ArgoCD 部署 Rollout:Freight 依次经 dev、验证、stg、验证、prod,ArgoCD 同步 Rollout 清单,Rollouts 再按 canary 10%→分析→50%→100% 放量。

适用场景:需要流量塑形、分析门控或跨环境晋升验证的 Kubernetes 交付流程。

限制与注意事项:简单 Deployment 发布、通过 PR 修改目标修订的手动晋升、应用内功能开关与运行时比例发布均不适合本技能。Rollouts 是替换 Deployment 而非叠加,迁移需改资源类型,未用 kubectl-argo-rollouts 转换可能有一轮停机。AnalysisTemplate 的指标查询受控制器权限限制,Prometheus 在别的命名空间时需 RBAC 或服务账号令牌。Kargo Freight 不可变,只能产出新 Freight,不能修补 Stage 当前 Freight。Kargo 与 ArgoCD 集成需控制器有更新 Application CR 的权限,默认安装不授予,需查看 Helm 值中的 argocd.permissions。验证步骤运行在阶段之间而非阶段内,失败不会回滚上一阶段,只阻止向前晋升;需要回滚则使用 Rollouts 层面的分析。