mcpField
C
canary-deployment

canary-deployment

github.com/aj-geddes云与 DevOps373423 次安装34 周前更新
代码仓库

关于 canary-deployment

用于规划和实施金丝雀部署的技能,可逐步向少量用户发布新版本并评估指标。参考资料涵盖 Istio、Kubernetes 原生脚本、基于指标的分析和自动晋级。

主要功能

  1. 01逐步向部分用户发布
  2. 02基于指标监控问题
  3. 03按阈值回滚或晋级
  4. 04Istio 与 Kubernetes 指南
  5. 05部署最佳实践

适用场景

  1. 01通过真实流量测试新版本
  2. 02降低发布对用户的影响
  3. 03错误超过阈值时回滚
  4. 04依据指标晋级版本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill canary-deployment

安装后在 Claude Code 中输入/canary-deployment确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
automated-canary-promotion.md
istio-based-canary-deployment.md
kubernetes-native-canary-script.md
metrics-based-canary-analysis.md
scripts/
scaffold-tests.sh
templates/
test-template.js

详细介绍

金丝雀部署

目录

概述

逐步向少量用户部署新版本,监控指标以发现问题,并根据预先定义的阈值自动回滚或继续部署。

适用场景

  • 低风险的渐进式发布
  • 使用真实流量进行实际测试
  • 出现错误时自动回滚
  • 尽量减少对用户的影响
  • 与 A/B 测试集成
  • 由指标驱动的部署
  • 高流量服务

快速入门

最简可运行示例:

# canary-deployment-istio.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-v1
  namespace: production
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
      version: v1
  template:
    metadata:
      labels:
        app: myapp
        version: v1
    spec:
      containers:
        - name: myapp
          image: myrepo/myapp:1.0.0
          ports:
            - containerPort: 8080

---
// ... (see reference guides for full implementation)

参考指南

references/ 目录中的详细实现:

指南内容
基于 Istio 的金丝雀部署基于 Istio 的金丝雀部署
Kubernetes 原生金丝雀脚本Kubernetes 原生金丝雀脚本
基于指标的金丝雀分析基于指标的金丝雀分析
自动推进金丝雀部署自动推进金丝雀部署

最佳实践

✅ 应该做
  • 遵循既定模式和惯例
  • 编写清晰、易于维护的代码
  • 添加适当的文档
  • 部署前进行充分测试
❌ 不应该做
  • 跳过测试或验证
  • 忽略错误处理
  • 将配置值硬编码

评论

支持 Markdown