-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path5.7-virtual-destination.yaml
69 lines (69 loc) · 2.05 KB
/
5.7-virtual-destination.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
##################################################
# Test Name: Virtual Destination Routing
# Test Number: 5.7
# Test Description:
# - Route to a VirtualDestination
##################################################
apiVersion: networking.mesh.gloo.solo.io/v1
kind: VirtualMesh
metadata:
name: virtual-mesh
namespace: gloo-mesh
spec:
federation: # Enable automatic federation of all services to all clusters
selectors:
- {}
meshes:
- name: istiod-istio-system-cluster1
namespace: gloo-mesh
- name: istiod-istio-system-cluster2
namespace: gloo-mesh
---
apiVersion: networking.enterprise.mesh.gloo.solo.io/v1beta1
kind: VirtualDestination
metadata:
name: frontend
namespace: gloo-mesh
spec:
hostname: http-frontend.solo.io # mesh dns hostname
port:
number: 8080 # VirtualDestination port
protocol: http
targetNumber: 8080
localized:
destinationSelectors: # all frontend labeled services in the virtual mesh
- kubeServiceMatcher:
labels:
app: frontend
virtualMesh:
name: virtual-mesh
namespace: gloo-mesh
---
apiVersion: networking.enterprise.mesh.gloo.solo.io/v1beta1
kind: VirtualGateway
metadata:
name: ingress
namespace: gloo-mesh
spec:
ingressGatewaySelectors:
- portName: http2 # match on port name http2
destinationSelectors:
- kubeServiceMatcher:
labels:
istio: ingressgateway # select all gateways with istio=ingressgateway label
namespaces:
- istio-system # only include istio-system namespace
connectionHandlers:
- http:
routeConfig:
- virtualHost:
domains:
- "*" # match on all hosts
routes:
- name: frontend
routeAction:
destinations:
- virtualDestination: # proxy requests to the frontend VirtualDestination
name: frontend
namespace: gloo-mesh
---