124 lines
2.3 KiB
YAML
124 lines
2.3 KiB
YAML
---
|
|
kind: GatewayClass
|
|
apiVersion: networking.x-k8s.io/v1alpha1
|
|
metadata:
|
|
name: my-gateway-class
|
|
spec:
|
|
controller: traefik.io/gateway-controller
|
|
|
|
---
|
|
kind: Gateway
|
|
apiVersion: networking.x-k8s.io/v1alpha1
|
|
metadata:
|
|
name: my-gateway
|
|
namespace: default
|
|
spec:
|
|
gatewayClassName: my-gateway-class
|
|
listeners: # Use GatewayClass defaults for listener definition.
|
|
- protocol: HTTP
|
|
port: 80
|
|
routes:
|
|
kind: HTTPRoute
|
|
namespaces:
|
|
from: Same
|
|
selector:
|
|
matchLabels:
|
|
app: foo
|
|
- protocol: HTTPS
|
|
port: 443
|
|
tls:
|
|
certificateRef:
|
|
group: "core"
|
|
kind: "Secret"
|
|
name: "mysecret"
|
|
routes:
|
|
kind: HTTPRoute
|
|
selector:
|
|
matchLabels:
|
|
app: foo
|
|
- protocol: TCP
|
|
port: 9000
|
|
routes:
|
|
kind: TCPRoute
|
|
namespaces:
|
|
from: Same
|
|
selector:
|
|
matchLabels:
|
|
app: footcp
|
|
- protocol: TLS
|
|
port: 9443
|
|
hostname: example.com
|
|
tls:
|
|
certificateRef:
|
|
group: "core"
|
|
kind: "Secret"
|
|
name: "mysecret"
|
|
routes:
|
|
kind: TLSRoute
|
|
namespaces:
|
|
from: Same
|
|
selector:
|
|
matchLabels:
|
|
app: footls
|
|
|
|
---
|
|
kind: HTTPRoute
|
|
apiVersion: networking.x-k8s.io/v1alpha1
|
|
metadata:
|
|
name: http-app-1
|
|
namespace: default
|
|
labels:
|
|
app: foo
|
|
spec:
|
|
hostnames:
|
|
- "foo.com"
|
|
rules:
|
|
- matches:
|
|
- path:
|
|
type: Exact
|
|
value: /bar
|
|
forwardTo:
|
|
- serviceName: whoami
|
|
port: 80
|
|
weight: 1
|
|
- matches:
|
|
- path:
|
|
type: Prefix
|
|
value: /foo
|
|
forwardTo:
|
|
- backendRef:
|
|
group: traefik.containo.us
|
|
kind: TraefikService
|
|
name: myservice@file
|
|
weight: 1
|
|
port: 80
|
|
|
|
---
|
|
kind: TCPRoute
|
|
apiVersion: networking.x-k8s.io/v1alpha1
|
|
metadata:
|
|
name: tcp-app-1
|
|
namespace: default
|
|
labels:
|
|
app: footcp
|
|
spec:
|
|
rules:
|
|
- forwardTo:
|
|
- serviceName: whoamitcp
|
|
port: 9000
|
|
weight: 1
|
|
|
|
---
|
|
kind: TLSRoute
|
|
apiVersion: networking.x-k8s.io/v1alpha1
|
|
metadata:
|
|
name: tls-app-1
|
|
namespace: default
|
|
labels:
|
|
app: footls
|
|
spec:
|
|
rules:
|
|
- forwardTo:
|
|
- serviceName: whoamitcp
|
|
port: 9000
|
|
weight: 1
|