Kubernetes蓝绿部署,我正在修补Kubernetes应用程序服务,将流量从app-v1重定向到app-v2(在负载均衡器后面)。如果在“修补”期间进行任何连接,是否会断开连接?如果没有!!我该如何测试这一点?
根据您的看法,从app-v1到app-v2进行版本部署的最佳方法是什么,可以实现温暖的交接(无连接丢失)?
Kubernetes蓝绿部署,我正在修补Kubernetes应用程序服务,将流量从app-v1重定向到app-v2(在负载均衡器后面)。如果在“修补”期间进行任何连接,是否会断开连接?如果没有!!我该如何测试这一点?
根据您的看法,从app-v1到app-v2进行版本部署的最佳方法是什么,可以实现温暖的交接(无连接丢失)?
app-v1
和app-v2
。蓝色
环境。一旦你准备好一个新版本进行部署,比如说绿色
环境,那么就可以分别进行部署和测试。最后,当你对绿色环境的测试结果感到满意时,就可以将流量切换到绿色环境,使得绿色
变为活动状态,而蓝色
则变为空闲或在稍后终止。(参考自Martin Fowler的文章)。基本上,您可以拥有两个完全相同的部署,假设您当前的部署 my-deployment-blue
在生产环境中。一旦您准备好新版本,您可以将其作为一个全新的部署进行部署,例如 my-deployment-green
,并使用单独的测试服务来测试 green
环境。最后,在所有测试通过后将流量切换到 my-deployment-green
。
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
strategy:
rollingUpdate:
maxSurge: 100%
maxUnavailable: 0
type: RollingUpdate