13.Argo Rollouts
13.1 Argo Rollouts概览
-
Argo Rollouts
-
由一个控制器和一组CRD组成,可为Kubernetes提供高级部署功能,包括
- blue-green
- canary
- canary analysis
- experimentation
- progressive delivery
-
支持与Ingress Controller(Nginx和ALB)及ServiceMesh(Istio、Linkerd和SMI)集成,利用它们的流量治理能力实现流量迁移过程
-
能够查询和解释来自多种指标系统(Prometheus、Kubernetes Jobs、Web、Datadog等)的指标来验证Blue-Green或Canary部署结果,并根据结果自动决定执行升级或回滚
-
几个相关的CRD
- Rollout、AnalysisTemplate、ClusterAnalysisTemplate和AnalysisRun
-
-
基本工作机制
-
与Deployment相似,Argo Rollouts控制器借助于ReplicaSet完成应用的创建、缩放和删除;
-
ReplicaSet资源由Rollout的spec.template字段进行定义
-
Argo Rollouts本身由一个控制器和一组CRD组成,其关键作用就在于它提供了一个资源类型