该技能面向生产系统的零停机部署,围绕蓝绿、金丝雀、滚动和重建四种策略,给出配置思路与示例清单。
用途:帮助团队在保持服务可用的前提下发布新版本,并为快速回滚准备条件。资料将四种策略按切换方式、回滚速度与资源开销做对照:蓝绿为整环境切换、可即时回滚但需要约两倍资源;金丝雀按比例逐步放量、回滚较慢且额外资源约10%至25%;滚动为逐Pod替换、回滚速度中等、资源需求持平;重建为全量一次性替换、速度快但风险高。
主要能力:蓝绿部分给出Kubernetes双Deployment与Service选择器切换示例、切换脚本(校验rollout状态与健康检查后patch Service),以及AWS CodeDeploy的appspec.yml钩子示例。金丝雀部分给出Istio VirtualService按权重90/10分流及请求头匹配示例、DestinationRule子集定义,以及Argo Rollouts按10%、25%、50%、75%分步暂停并配合Prometheus成功率分析的配置。滚动部分给出RollingUpdate参数maxSurge与maxUnavailable、就绪与存活探针,以及kubectl查看、暂停、恢复、撤销与历史查看命令。健康检查部分提供Flask的/health与/ready示例,其中就绪检查包含数据库与Redis连通性验证。
使用方式:需具备负载均衡或入口控制器、容器编排或云平台、CI/CD流水线与健康检查端点。蓝绿通过先部署新版本、验证健康后切换Service选择器完成流量转移;金丝雀通过流量权重或Argo Rollouts分步放量并结合指标分析自动判断;滚动依赖Deployment默认策略与探针完成逐批替换。
适用场景:需要零停机发布、降低发布风险、实现即时回滚、开展金丝雀发布或在生产中进行A/B测试的场景。
限制:资料说明实际执行会作用于真实环境,应用前须确认目标、影响范围与回滚计划;未经明确批准不得部署到生产。该条目为文档型导入,上游脚本与模板未随附,具体内容如回滚清单、常见问题与最佳实践等章节在资料中未展开,暂未提供。