Argo Rollouts - Kubernetes Progressive Delivery Controller
Argo Rollouts 是一个 Kubernetes Operator 实现,它为 Kubernetes 提供更加高级的部署能力,如蓝绿、金丝雀、金丝雀分析、实验和渐进式交付功能,为云原生应用和服务实现自动化、基于 GitOps 的逐步交付。
在大型的生产环境中,Argo Rollouts还是非常存在的必要的,哪怕是手动完成各阶段的部署和检查等,这样可以降低对生产环境的影响,降低风险等等。如果要实现自动化,那么需要借助第三方对此判断成功与否后,再继续更新等。总之,Argo rollout 是生产环境部署的利器。
## 手动发布
## Rollout 采用了金丝雀的更新策略,将 20% 的流量发送到金丝雀上,然后手动发布,最后在升级的剩余时间内逐渐自动增大流量
kubectl apply -f rollout.yaml
kubectl apply -f service.yaml
#monitoring
kubectl argo rollouts get rollout