gateway icon indicating copy to clipboard operation
gateway copied to clipboard

Support routing to non K8s upstream services

Open arkodg opened this issue 2 years ago • 3 comments

Envoy Gateway intends to support upstream services & endpoint running in all environments as highlighted here. This issue tracks how this can be achieved using the Gateway API

arkodg avatar Apr 28 '22 20:04 arkodg

The Gateway API supports different Backend References. and default to the Service Kind . Does this mean, for the non k8s case, we'll need to create a CRD defining a new EGService object that allows the user to define new upstream endpoints such as IP Addresses or other service FQDNs that the Service Resolver will understand how to consume 🙃 ?

arkodg avatar Apr 28 '22 20:04 arkodg

Another option is to allow the user to express their service in terms of Kubernetes Service & Endpoint Definitions and apply in into the Config Source. This feels non intuitive imho.

arkodg avatar Apr 28 '22 20:04 arkodg

Does this mean, for the non k8s case, we'll need to create a CRD defining a new EGService object that allows the user to define new upstream endpoints such as IP Addresses or other service FQDNs that the Service Resolver will understand how to consume

BackendObjectReference is a reference to an object. When the Group and Kind are unspecified, a Service is a default. An implementation can support a different group/kind, e.g. EndpointSlice or a Custom Resource. For non-k8s environments, I would expect a Custom Resource is defined and supported by EG. Since k8s is the project's initial focus, I suggest we defer this to the future.

danehans avatar Apr 28 '22 21:04 danehans

possible today by creating EndpointSlice and linking them to a Service https://gateway.envoyproxy.io/latest/user/traffic/routing-outside-kubernetes/

arkodg avatar Mar 13 '24 04:03 arkodg