蓝绿发布原理
蓝绿发布本质上是希望能优雅无误的迭代应用,以便于使应用平稳提供服务。通常是不停老版本的同时对新版本进行先发布,然后确认无误后进行流量切换,即并行部署。
Kubernetes中可以通过deployment来部署一个蓝发布,然后通过控制service,来决定使用的版本。即通过label selector 将流量转发至对应的版本。
蓝绿发布实践
构建环境
基础Kubernetes环境
需要部署一个处于健壮状态的Kubernetes,部署Kubernetes可参考
附034.Kubernetes_v1.21.0高可用部署架构二
准备测试文件
root@master01:~/mystudy# mkdir -p /data/nginx/blue
root@master01:~/mystudy# mkdir -p /data/nginx/green
root@master01:~/mystudy# echo myblue > /data/nginx/blue/index.html
root@master01:~/mystudy# echo mygreen > /data/nginx/green/index.html
部署蓝应用
创建Kubernetes deployment
root@master01:~/mystudy# vim mybluedp.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-svc
labels:
svc: nginx-svc
spec:
type: NodePort
ports:
- port: 80
name: nginx-svc
protocol: TCP
targetPort: 80
nodePort: 80
selector:
app: nginx-blue
root@master01:~/mystudy# kubectl apply -f mysvc.yaml
测试蓝应用
[root@client ~]# curl -X GET http://172.16.10.31 #客户端测试
myblue
[root@client ~]# while true; do curl -X GET http://172.16.10.31 ; done
部署绿应用
创建Kubernetes deployment
`
root@master01:~/mystudy# vim mygreendp.yaml
Original: https://www.cnblogs.com/itzgr/p/14602827.html
Author: 木二
Title: 附032.Kubernetes实现蓝绿发布
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/607239/
转载文章受原作者版权保护。转载请注明原作者出处!