我正在向kubernetes吊舱部署2个服务,它只是回显一个版本号;echo-v1和echo-v2
在echo-v2被认为是金丝雀部署的情况下,我可以演示粘性会话,因为金丝雀重量从0重新配置到100,使用金丝雀和金丝雀重量注释。
使用了两个入口:带有会话cookie注释的回显-v1的第一条路由。第二条路由到带有金丝雀真、金丝雀重量和会话cookie注释的echo-v2。
第二个入口,我可以申请,而不影响那些会话开始于第一个入口和新的会议遵循金丝雀加权,如预期。
不过,我后来了解到,这些注释都是针对nginx社区的,不会使用nginx。
如何使用nginx +的入口(Es)实现相同的目标?
发布于 2022-11-18 10:41:32
这是为我使用Nginx社区和Nginx +的入口配置。
Nginx社区:
(咖啡-v1服务)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/affinity: "cookie"
name: ingress-coffee
spec:
rules:
- http:
paths:
- path: /coffee
pathType: Exact
backend:
service:
name: coffee-v1
port:
number: 80(咖啡-v2‘金丝雀’服务)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/canary: "true"
nginx.ingress.kubernetes.io/canary-weight: "100"
name: ingress-coffee-canary
spec:
rules:
- http:
paths:
- path: /coffee
pathType: Exact
backend:
service:
name: coffee-v2
port:
number: 80Nginx +:
(咖啡-v1和咖啡-v2类型为“虚拟服务器”而不是“入口”)
apiVersion: k8s.nginx.org/v1
kind: VirtualServer
metadata:
name: cafe
spec:
host: cloudbees-training.group.net
tls:
secret: cloudbees-trn.aks.group.net-tls
upstreams:
- name: coffee-v1
service: coffee-v1-svc
port: 80
sessionCookie:
enable: true
name: srv_id_v1
path: /coffee
expires: 2h
- name: coffee-v2
service: coffee-v2-svc
port: 80
sessionCookie:
enable: true
name: srv_id_v2
path: /coffee
expires: 2h
routes:
- path: /coffee
matches:
- conditions:
- cookie: srv_id_v1
value: ~*
action:
pass: coffee-v1
- conditions:
- cookie: srv_id_v2
value: ~*
action:
pass: coffee-v2
# 3 options to handle new session below:
#
# 1) All new sessions to v1:
# action:
# pass: coffee-v1
#
# 2) All new sessions to v2:
# action:
# pass: coffee-v2
#
# 3) Split new sessions by weight
# Note: 0,100 / 100,0 weightings causes sessions
# to drop for the 0 weighted service:
# splits:
# - weight: 50
# action:
# pass: coffee-v1
# - weight: 50
# action:
# pass: coffee-v2https://stackoverflow.com/questions/74406622
复制相似问题