File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ apiVersion : gateway.networking.k8s.io/v1
2+ kind : HTTPRoute
3+ metadata :
4+ name : quackstack
5+ namespace : apis
6+ spec :
7+ parentRefs :
8+ - name : envoy-gateway
9+ namespace : envoy-gateway
10+ hostnames :
11+ - quackstack.pythondiscord.com
12+ rules :
13+ - backendRefs :
14+ - name : quackstack
15+ weight : 1
16+ port : 80
Original file line number Diff line number Diff line change 1+ # Gateway
2+
3+ We use Envoy Gateway as our Kubernetes Gateway API implementation (the successor to the deprecated Kubernetes Ingress API).
4+
5+ ## Installation
6+
7+ Taken from https://gateway.envoyproxy.io/docs/tasks/quickstart/
8+
9+ ``` bash
10+ $ helm install envoy-gateway oci://docker.io/envoyproxy/gateway-helm --version v1.7.1 -n envoy-gateway --create-namespace -f values.yaml
11+ ```
12+
13+ Wait for the ` envoy-gateway ` deployment to be ready:
14+
15+ ``` bash
16+ $ kubectl wait --timeout=5m -n envoy-gateway deployment/envoy-gateway --for=condition=Available
17+ ```
18+
19+ Find the external IP address of the Envoy Gateway:
20+
21+ ``` bash
22+ $ export GATEWAY_HOST=$( kubectl get gateway/envoy-gateway -o jsonpath=' {.status.addresses[0].value}' )
23+ ```
24+
25+ ## Maintenance
26+
27+ You can install the ` egctl ` tool following instructions [ here] ( https://gateway.envoyproxy.io/docs/install/install-egctl/ ) to manage the Envoy Gateway deployment.
Original file line number Diff line number Diff line change 1+ apiVersion : gateway.networking.k8s.io/v1
2+ kind : GatewayClass
3+ metadata :
4+ name : envoy-gateway
5+ namespace : envoy-gateway
6+ spec :
7+ controllerName : gateway.envoyproxy.io/gatewayclass-controller
8+ ---
9+ apiVersion : gateway.networking.k8s.io/v1
10+ kind : Gateway
11+ metadata :
12+ name : envoy-gateway
13+ namespace : envoy-gateway
14+ spec :
15+ gatewayClassName : envoy-gateway
16+ listeners :
17+ - name : http
18+ protocol : HTTP
19+ port : 80
20+ allowedRoutes :
21+ namespaces :
22+ from : All
23+
24+ - name : https-pythondiscord-root
25+ protocol : HTTPS
26+ port : 443
27+ hostname : " pythondiscord.com"
28+ tls :
29+ mode : Terminate
30+ certificateRefs :
31+ - name : pythondiscord.com-tls
32+ kind : Secret
33+ allowedRoutes :
34+ namespaces :
35+ from : All
36+
37+ - name : https-pythondiscord-wildcard
38+ protocol : HTTPS
39+ port : 443
40+ hostname : " *.pythondiscord.com"
41+ tls :
42+ mode : Terminate
43+ certificateRefs :
44+ - name : pythondiscord.com-tls
45+ kind : Secret
46+ allowedRoutes :
47+ namespaces :
48+ from : All
49+
50+ - name : https-pydis-wtf-root
51+ protocol : HTTPS
52+ port : 443
53+ hostname : " pydis.wtf"
54+ tls :
55+ mode : Terminate
56+ certificateRefs :
57+ - name : pydis.wtf-tls
58+ kind : Secret
59+ allowedRoutes :
60+ namespaces :
61+ from : All
62+
63+ - name : https-pydis-wtf-wildcard
64+ protocol : HTTPS
65+ port : 443
66+ hostname : " *.pydis.wtf"
67+ tls :
68+ mode : Terminate
69+ certificateRefs :
70+ - name : pydis.wtf-tls
71+ kind : Secret
72+ allowedRoutes :
73+ namespaces :
74+ from : All
Original file line number Diff line number Diff line change 1+ deployment :
2+ replicas : 2
You can’t perform that action at this time.
0 commit comments