Envoy Gateway Large Payloads
In my previous post on Envoy Gateway I only discussed the basic configuration. As I started using more of my services via Gateway API, I noticed a couple of issues crop up. Many of the Nginx Ingress controllers made use of an annotation to increase the payload size beyond the default.
Something like:
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "100m"
The Gateway API, for better or worse, took a slightly more complicated and deliberate approach for features like this. Rather than the wild-west of annotations, they build a spec for this with policy objects. So, if an ingress used the above annotation, then the http route will need a corresponding policy object. It is fairly well layed out in their documentation.
Something like:
---
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: BackendTrafficPolicy
metadata:
name: my-app-route-request-buffer-policy
spec:
targetRefs:
- group: gateway.networking.k8s.io
kind: HTTPRoute
name: my-app-route
requestBuffer:
limit: 100Mi
Each route that needs this functionality will require its own policy object to configure it.