/
color-istio-gw-client-cookie.yaml
73 lines (70 loc) · 1.25 KB
/
color-istio-gw-client-cookie.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: color-is-gw
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: v1
kind: Service
metadata:
name: color-service
labels:
app: color
spec:
ports:
- name: http
port: 8000
targetPort: 8080 #Port in containers
selector:
app: color
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: color-is-dr
spec:
host: color-service
subsets:
- name: blue-sub
labels:
color: blue
- name: green-sub
labels:
color: green
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: color-is-vs-cookie
spec:
hosts:
- "*"
gateways:
- color-is-gw
http:
- match:
- uri:
prefix: /cookie
headers:
cookie:
regex: ^(.\*?;)?(my-color=green)(;.\*)?$
route:
- destination:
host: color-service #Name of the service
subset: green-sub
- match:
- uri:
prefix: /cookie
route:
- destination: #Default (if match is false)
host: color-service #Name of the service
subset: blue-sub