本文作者:丁辉
通过副本控制实现金丝雀发布
通过副本数控制
操作步骤:
- 先部署稳定版本(v1,9个副本)
- 部署金丝雀版本(v2,1个副本)
- Service会自动将约9%的流量(1/10)导向v2
- 观察监控,如果v2正常,逐步增加v2副本数,减少v1副本数
开始部署
部署测试示例 Nginx Deployment v1和v2
部署 Pod-Nginx-v1
1
kubectl apply -f https://gitee.com/offends/Kubernetes/raw/main/File/Yaml/nginx-deployment-v1.yaml
部署 Pod-Nginx-v2
1
kubectl apply -f https://gitee.com/offends/Kubernetes/raw/main/File/Yaml/nginx-deployment-v2.yaml
修改副本数数量
v1 配置为 9
1
kubectl scale deployment/nginx-deployment-1 --replicas=9
v2 配置为 1
1
kubectl scale deployment/nginx-deployment-2 --replicas=1
部署 Service(同时选择v1和v2的Pod)
1
2
3
4
5
6
7
8
9
10
11
12cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Service
metadata:
name: nginx-deployment-service
spec:
selector:
app: nginx # 同时选择两个版本的Pod
ports:
- port: 80
targetPort: 80
EOF修改权重将流量导向 v2
逐步增加 v2
1
kubectl scale deployment/nginx-deployment-2 --replicas=10
降低 v1
1
kubectl scale deployment/nginx-deployment-1 --replicas=0
中途访问 Nginx 发现正在随着我们扩展和缩小副本数量,逐步迁移流量。
要是这篇文章为您解了惑、带来了帮助,不妨用小小的打赏来支持下我的创作吧,您的鼓励就是我持续分享的最大动力哦,感谢您啦!
- 本文链接: https://blog.offends.cn/Kubernetes/使用文档/通过副本控制实现金丝雀发布.html
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。