mirror of
https://github.com/rubenhensen/k8scd.git
synced 2026-11-15 14:29:09 +01:00
gateway: add the Envoy GatewayClass and Gateway
Envoy runs as a DaemonSet on host ports 10080 and 10443 for now, so it can be tested next to ingress-nginx, which keeps 80 and 443. The Gateway has a plain HTTP listener and no routes yet.
This commit is contained in:
1 parent
a20808b752
commit
7475199ca5
4 files changed
+81
No files matched your search
@@ -0,0 +1,22 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: gateway-folder
|
||||
namespace: argocd
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
project: default
|
||||
source:
|
||||
repoURL: https://github.com/rubenhensen/k8scd.git
|
||||
targetRevision: HEAD
|
||||
path: gateway
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: envoy-gateway-system
|
||||
syncPolicy:
|
||||
syncOptions:
|
||||
- ServerSideApply=true
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
@@ -0,0 +1,32 @@
|
||||
# How Envoy Gateway runs the proxy: a DaemonSet that takes the node's ports
|
||||
# directly, the way the microk8s ingress-nginx addon does. Gateway listeners
|
||||
# below 1024 run on port + 10000 inside the container (80 becomes 10080).
|
||||
#
|
||||
# While ingress-nginx still owns 80 and 443, the host ports are 10080 and
|
||||
# 10443 so both can be tested side by side.
|
||||
apiVersion: gateway.envoyproxy.io/v1alpha1
|
||||
kind: EnvoyProxy
|
||||
metadata:
|
||||
name: hostport
|
||||
namespace: envoy-gateway-system
|
||||
spec:
|
||||
provider:
|
||||
type: Kubernetes
|
||||
kubernetes:
|
||||
# No cloud load balancer here; a LoadBalancer Service would stay pending.
|
||||
envoyService:
|
||||
type: ClusterIP
|
||||
envoyDaemonSet:
|
||||
patch:
|
||||
type: StrategicMerge
|
||||
value:
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: envoy
|
||||
ports:
|
||||
- containerPort: 10080
|
||||
hostPort: 10080
|
||||
- containerPort: 10443
|
||||
hostPort: 10443
|
||||
@@ -0,0 +1,16 @@
|
||||
# The single entry point for all HTTP(S) traffic. Each app adds an HTTPS
|
||||
# listener for its hostname here and an HTTPRoute in its own namespace.
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: Gateway
|
||||
metadata:
|
||||
name: homelab
|
||||
namespace: envoy-gateway-system
|
||||
spec:
|
||||
gatewayClassName: envoy
|
||||
listeners:
|
||||
- name: http
|
||||
protocol: HTTP
|
||||
port: 80
|
||||
allowedRoutes:
|
||||
namespaces:
|
||||
from: All
|
||||
@@ -0,0 +1,11 @@
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: GatewayClass
|
||||
metadata:
|
||||
name: envoy
|
||||
spec:
|
||||
controllerName: gateway.envoyproxy.io/gatewayclass-controller
|
||||
parametersRef:
|
||||
group: gateway.envoyproxy.io
|
||||
kind: EnvoyProxy
|
||||
name: hostport
|
||||
namespace: envoy-gateway-system
|
||||
Reference in new issue
Block a user