istio
1apiVersion: gateway.networking.k8s.io/v1beta1
2kind: GatewayClass
3metadata:
4name: istio
5spec:
6controllerName: istio.io/gateway-controller
7---
8apiVersion: gateway.networking.k8s.io/v1beta1
9kind: Gateway
10metadata:
11name: gateway
12namespace: istio-system
13spec:
14addresses:
15- value: istio-ingressgateway
16type: Hostname
17gatewayClassName: istio
18listeners:
19- name: http
20hostname: "*.domain.example"
21port: 80
22protocol: HTTP
23allowedRoutes:
24namespaces:
25from: All
26- name: tcp
27port: 34000
28protocol: TCP
29allowedRoutes:
30namespaces:
31from: All
32---
33apiVersion: gateway.networking.k8s.io/v1beta1
34kind: HTTPRoute
35metadata:
36name: http
37namespace: default
38spec:
39parentRefs:
40- name: gateway
41namespace: istio-system
42hostnames: ["first.domain.example"]
43rules:
44- matches:
45- path:
46type: PathPrefix
47value: /get
48backendRefs:
49- name: httpbin
50port: 80
51weight: 2
52- name: httpbin-other
53port: 8080
54weight: 3
55- name: httpbin-zero
56port: 8080
57weight: 0
58- matches:
59- path:
60type: PathPrefix
61value: /weighted-100
62backendRefs:
63- filters:
64- requestHeaderModifier:
65add:
66- name: foo
67value: bar
68type: RequestHeaderModifier
69- responseHeaderModifier:
70add:
71- name: response
72value: header
73type: ResponseHeaderModifier
74port: 8000
75name: foo-svc
76weight: 100
77---
78apiVersion: gateway.networking.k8s.io/v1alpha2
79kind: TCPRoute
80metadata:
81name: tcp
82namespace: default
83spec:
84parentRefs:
85- name: gateway
86namespace: istio-system
87rules:
88- backendRefs:
89- name: httpbin
90port: 9090
91weight: 1
92- name: httpbin-alt
93port: 9090
94weight: 2
95