Check HTTPRoute Accepted condition gateway-api
Inspect Accepted/ResolvedRefs status to debug why a route is not attached
kubectl describe httproute <name> -n <ns> | grep -A8 Conditions
more gateway-api
all 5 commands →
Inventory Gateway API resources
kubectl get gatewayclass,gateway,httproute -A
Weighted canary HTTPRoute
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}
EOF
Allow cross-namespace route with ReferenceGrant
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}]
EOF
TLS Gateway listener with cert ref
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