@@ -3,15 +3,67 @@ title: "Customize EnvoyProxy"
3
3
---
4
4
5
5
Envoy Gateway provides an [ EnvoyProxy] [ ] CRD that can be linked to the ParametersRef
6
- in GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
6
+ in a Gateway and GatewayClass, allowing cluster admins to customize the managed EnvoyProxy Deployment and
7
7
Service. To learn more about GatewayClass and ParametersRef, please refer to [ Gateway API documentation] [ ] .
8
8
9
9
## Prerequisites
10
10
11
- Follow the steps from the [ Quickstart] ( ../../quickstart ) to install Envoy Gateway and the example manifest.
12
- Before proceeding, you should be able to query the example backend using HTTP.
11
+ {{< boilerplate prerequisites >}}
13
12
14
- Before you start, you need to add ` ParametersRef ` in GatewayClass, and refer to EnvoyProxy Config:
13
+ Before you start, you need to add ` Infrastructure.ParametersRef ` in Gateway, and refer to EnvoyProxy Config:
14
+ ** Note** : ` MergeGateways ` cannot be set to ` true ` in your EnvoyProxy config if attaching to the Gateway.
15
+
16
+ {{< tabpane text=true >}}
17
+ {{% tab header="Apply from stdin" %}}
18
+ ``` shell
19
+ cat << EOF | kubectl apply -f -
20
+ apiVersion: gateway.networking.k8s.io/v1
21
+ kind: Gateway
22
+ metadata:
23
+ name: eg
24
+ spec:
25
+ gatewayClassName: eg
26
+ infrastructure:
27
+ parametersRef:
28
+ group: gateway.envoyproxy.io
29
+ kind: EnvoyProxy
30
+ name: custom-proxy-config
31
+ listeners:
32
+ - name: http
33
+ protocol: HTTP
34
+ port: 80
35
+ EOF
36
+ ```
37
+
38
+ {{% /tab %}}
39
+ {{% tab header="Apply from file" %}}
40
+ Save and apply the following resource to your cluster:
41
+
42
+ ``` yaml
43
+ ---
44
+ apiVersion : gateway.networking.k8s.io/v1
45
+ kind : Gateway
46
+ metadata :
47
+ name : eg
48
+ spec :
49
+ gatewayClassName : eg
50
+ infrastructure :
51
+ parametersRef :
52
+ group : gateway.envoyproxy.io
53
+ kind : EnvoyProxy
54
+ name : custom-proxy-config
55
+ listeners :
56
+ - name : http
57
+ protocol : HTTP
58
+ port : 80
59
+ ` ` `
60
+
61
+ {{% /tab %}}
62
+ {{< /tabpane >}}
63
+
64
+ You can also attach the EnvoyProxy resource to the GatewayClass using the ` parametersRef` field.
65
+ This configuration is discouraged if you plan on creating multiple Gateways linking to the same
66
+ GatewayClass and would like different infrastructure configurations for each of them.
15
67
16
68
{{< tabpane text=true >}}
17
69
{{% tab header="Apply from stdin" %}}
28
80
group: gateway.envoyproxy.io
29
81
kind: EnvoyProxy
30
82
name: custom-proxy-config
31
- namespace: envoy-gateway-system
83
+ namespace: default
32
84
EOF
33
85
` ` `
34
86
48
100
group: gateway.envoyproxy.io
49
101
kind: EnvoyProxy
50
102
name: custom-proxy-config
51
- namespace : envoy-gateway-system
103
+ namespace: default
52
104
` ` `
53
105
54
106
{{% /tab %}}
@@ -67,7 +119,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
67
119
kind: EnvoyProxy
68
120
metadata:
69
121
name: custom-proxy-config
70
- namespace : envoy-gateway-system
122
+ namespace: default
71
123
spec:
72
124
provider:
73
125
type: Kubernetes
@@ -87,7 +139,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
87
139
kind: EnvoyProxy
88
140
metadata:
89
141
name: custom-proxy-config
90
- namespace : envoy-gateway-system
142
+ namespace: default
91
143
spec:
92
144
provider:
93
145
type: Kubernetes
@@ -119,7 +171,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
119
171
kind: EnvoyProxy
120
172
metadata:
121
173
name: custom-proxy-config
122
- namespace: envoy-gateway-system
174
+ namespace: default
123
175
spec:
124
176
provider:
125
177
type: Kubernetes
@@ -140,7 +192,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
140
192
kind: EnvoyProxy
141
193
metadata:
142
194
name: custom-proxy-config
143
- namespace : envoy-gateway-system
195
+ namespace: default
144
196
spec:
145
197
provider:
146
198
type: Kubernetes
@@ -168,7 +220,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
168
220
kind: EnvoyProxy
169
221
metadata:
170
222
name: custom-proxy-config
171
- namespace : envoy-gateway-system
223
+ namespace: default
172
224
spec:
173
225
provider:
174
226
type: Kubernetes
@@ -191,7 +243,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
191
243
kind: EnvoyProxy
192
244
metadata:
193
245
name: custom-proxy-config
194
- namespace : envoy-gateway-system
246
+ namespace: default
195
247
spec:
196
248
provider:
197
249
type: Kubernetes
@@ -221,7 +273,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
221
273
kind: EnvoyProxy
222
274
metadata:
223
275
name: custom-proxy-config
224
- namespace : envoy-gateway-system
276
+ namespace: default
225
277
spec:
226
278
provider:
227
279
type: Kubernetes
@@ -248,7 +300,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
248
300
kind: EnvoyProxy
249
301
metadata:
250
302
name: custom-proxy-config
251
- namespace : envoy-gateway-system
303
+ namespace: default
252
304
spec:
253
305
provider:
254
306
type: Kubernetes
@@ -280,7 +332,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
280
332
kind: EnvoyProxy
281
333
metadata:
282
334
name: custom-proxy-config
283
- namespace : envoy-gateway-system
335
+ namespace: default
284
336
spec:
285
337
provider:
286
338
type: Kubernetes
@@ -305,7 +357,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
305
357
kind: EnvoyProxy
306
358
metadata:
307
359
name: custom-proxy-config
308
- namespace : envoy-gateway-system
360
+ namespace: default
309
361
spec:
310
362
provider:
311
363
type: Kubernetes
@@ -339,7 +391,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
339
391
kind: EnvoyProxy
340
392
metadata:
341
393
name: custom-proxy-config
342
- namespace: envoy-gateway-system
394
+ namespace: default
343
395
spec:
344
396
provider:
345
397
type: Kubernetes
@@ -368,7 +420,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
368
420
kind: EnvoyProxy
369
421
metadata:
370
422
name: custom-proxy-config
371
- namespace: envoy-gateway-system
423
+ namespace: default
372
424
spec:
373
425
provider:
374
426
type: Kubernetes
@@ -404,7 +456,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
404
456
kind: EnvoyProxy
405
457
metadata:
406
458
name: custom-proxy-config
407
- namespace: envoy-gateway-system
459
+ namespace: default
408
460
spec:
409
461
provider:
410
462
type: Kubernetes
@@ -426,7 +478,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
426
478
kind: EnvoyProxy
427
479
metadata:
428
480
name: custom-proxy-config
429
- namespace: envoy-gateway-system
481
+ namespace: default
430
482
spec:
431
483
provider:
432
484
type: Kubernetes
@@ -459,7 +511,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
459
511
kind: EnvoyProxy
460
512
metadata:
461
513
name: custom-proxy-config
462
- namespace: envoy-gateway-system
514
+ namespace: default
463
515
spec:
464
516
bootstrap:
465
517
type: Replace
@@ -547,7 +599,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
547
599
kind: EnvoyProxy
548
600
metadata:
549
601
name: custom-proxy-config
550
- namespace: envoy-gateway-system
602
+ namespace: default
551
603
spec:
552
604
bootstrap:
553
605
type: Replace
@@ -649,7 +701,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
649
701
kind: EnvoyProxy
650
702
metadata:
651
703
name: custom-proxy-config
652
- namespace: envoy-gateway-system
704
+ namespace: default
653
705
spec:
654
706
provider:
655
707
type: Kubernetes
@@ -677,7 +729,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
677
729
kind: EnvoyProxy
678
730
metadata:
679
731
name: custom-proxy-config
680
- namespace: envoy-gateway-system
732
+ namespace: default
681
733
spec:
682
734
provider:
683
735
type: Kubernetes
@@ -713,7 +765,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
713
765
kind: EnvoyProxy
714
766
metadata:
715
767
name: custom-proxy-config
716
- namespace: envoy-gateway-system
768
+ namespace: default
717
769
spec:
718
770
extraArgs:
719
771
- --disable-extensions envoy.access_loggers/envoy.access_loggers.wasm
@@ -730,7 +782,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
730
782
kind: EnvoyProxy
731
783
metadata:
732
784
name: custom-proxy-config
733
- namespace: envoy-gateway-system
785
+ namespace: default
734
786
spec:
735
787
extraArgs:
736
788
- --disable-extensions envoy.access_loggers/envoy.access_loggers.wasm
@@ -756,7 +808,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
756
808
kind: EnvoyProxy
757
809
metadata:
758
810
name: eg
759
- namespace: envoy-gateway-system
811
+ namespace: default
760
812
spec:
761
813
provider:
762
814
type: Kubernetes
@@ -792,7 +844,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
792
844
kind: EnvoyProxy
793
845
metadata:
794
846
name: eg
795
- namespace: envoy-gateway-system
847
+ namespace: default
796
848
spec:
797
849
provider:
798
850
type: Kubernetes
@@ -835,7 +887,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
835
887
kind: EnvoyProxy
836
888
metadata:
837
889
name: eg
838
- namespace: envoy-gateway-system
890
+ namespace: default
839
891
spec:
840
892
provider:
841
893
type: Kubernetes
@@ -860,7 +912,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
860
912
kind: EnvoyProxy
861
913
metadata:
862
914
name: eg
863
- namespace: envoy-gateway-system
915
+ namespace: default
864
916
spec:
865
917
provider:
866
918
type: Kubernetes
@@ -918,7 +970,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
918
970
kind: EnvoyProxy
919
971
metadata:
920
972
name: custom-proxy-config
921
- namespace: envoy-gateway-system
973
+ namespace: default
922
974
spec:
923
975
filterOrder:
924
976
- name: envoy.filters.http.wasm
@@ -938,7 +990,7 @@ apiVersion: gateway.envoyproxy.io/v1alpha1
938
990
kind: EnvoyProxy
939
991
metadata:
940
992
name: custom-proxy-config
941
- namespace: envoy-gateway-system
993
+ namespace: default
942
994
spec:
943
995
filterOrder:
944
996
- name: envoy.filters.http.wasm
0 commit comments