Error when creating EnvoyFilter resource: Request entity too large: limit is 3145728

We run istio on GKE. We use EnvoyFilter CRD to add the grpc transcoder filter into the gateway. However, our grpc proto descriptor is around 1.7MB and thus is rejected by k8s according to which the etcd limit is 1MB. Changing --max-request-bytes seems not supported by GKE. So we searched some other options

  • Build a custom image with the proto descriptor. This doesn’t really work for us because our use case is kinda special that we are a service platform to offer common service to many service producers. Making each SP create a custom image isn’t scalable
  • Mount a persistent volume?

Any other suggestions? Thank you so much!

Context: we found the build image solution from here: examples on gRPC-JSON transcode needed · Issue #7652 · istio/istio · GitHub.