Thanks for the details @btsteve. Starting to understand, but you need to clarify a bit (do you have a simplified diagram?) if my answer is not aligned with your context.
If the "gateway ELB" is reachable from within the k8s network (I suppose that yes since the ELB is linking the k8s VPC with the API gateway's), then you can totally enable the file provider in Traefik (ref. https://docs.traefik.io/v2.0/providers/file/), and use it to specify a static "Traefik router + Traefik Service" pointing to the "gateway ELB":
- Traefik will be the only "ingress" (exposed with its own Kubernetes Service of type LoadBalancer which uses the external ELB, either ALB or NLB)
- Traefik will get its configuration from Kubernetes with the CRD
IngressRoute to be able to forward requests to the Kubernetes applications
- Traefik will get its configuration from the "file provider" to be able to forward requests to the API gateway
Alternatively, there could be a solution in "pure Kubernetes" with "Kubernetes Headless Service": https://kubernetes.io/docs/concepts/services-networking/service/#headless-services but I never tried with Traefik v2.0.