TLS Gateway listener with cert ref
Terminate TLS at the gateway via certificateRefs to a Secret
kubectl apply -f - <<'EOF'
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata: {name: gw, namespace: <ns>}
spec:
gatewayClassName: <name>
listeners:
- name: https
protocol: HTTPS
port: 443
tls:
mode: Terminate
certificateRefs: [{name: tls-cert}]
EOF
- tool
- gateway-api5 commands
More gateway-api commands
-
kubectl describe httproute <name> -n <ns> | grep -A8 ConditionsInspect Accepted/ResolvedRefs status to debug why a route is not attached
-
kubectl get gatewayclass,gateway,httproute -AOne-shot view of classes, gateways and routes across all namespaces
-
kubectl apply -f - <<'EOF' apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: {name: web, namespace: <ns>} spec: parentRefs: [{name: gw}] rules: - backendRefs: - {name: web-stable, port: 80, weight: 90} - {name: web-canary, port: 80, weight: 10} EOFSplit traffic 90/10 across stable and canary backends by weight
-
kubectl apply -f - <<'EOF' apiVersion: gateway.networking.k8s.io/v1beta1 kind: ReferenceGrant metadata: {name: allow-routes, namespace: backend} spec: from: [{group: gateway.networking.k8s.io, kind: HTTPRoute, namespace: edge}] to: [{group: "", kind: Service}] EOFPermit HTTPRoute in edge ns to target Services in backend ns