11.2 智能发布:使用 Argo Rollout 实现全自动蓝绿与金丝雀发布
2026/9/19 5:32:57 网站建设 项目流程

11.2 智能发布:使用 Argo Rollout 实现全自动蓝绿与金丝雀发布

1. 引言:Argo Rollouts 的优势

K8s 原生的 Deployment 只支持滚动更新,无法实现蓝绿、金丝雀等高级发布策略。

Argo Rollouts是 Argo 项目的一部分,专门用于高级发布策略:

  • 蓝绿发布:快速切换,零停机
  • 金丝雀发布:逐步放量,风险可控
  • 渐进式交付:基于指标自动决策
  • 自动回滚:异常自动回滚

2. 安装 Argo Rollouts

2.1 安装 Controller

kubectl create namespace argo-rollouts kubectl apply -n argo-rollouts -f https://github.com/argoproj/argo-rollouts/releases/latest/download/install.yaml

2.2 安装 CLI(可选)

# macOSbrewinstallargoproj/tap/kubectl-argo-rollouts# Linuxcurl-LO https://github.com/argoproj/argo-rollouts/releases/latest/download/kubectl-argo-rollouts-linux-amd64chmod+x kubectl-argo-rollouts-linux-amd64sudomvkubectl-argo-rollouts-linux-amd64 /usr/local/bin/kubectl-argo-rollouts

3. 蓝绿发布实战

3.1 创建 Rollout

apiVersion:argoproj.io/v1alpha1kind:Rolloutmetadata:name:paymentspec:replicas:5strategy:blueGreen:activeService:payment-active# 当前生产服务previewService:payment-preview# 预览服务(新版本)autoPromotionEnabled:false# 手动确认(推荐)scaleDownDelaySeconds:30# 切换后 30 秒才删除旧版本selector:matchLabels:app:paymenttemplate:metadata:labels:app:paymentspec:containers:-name:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询