-
Notifications
You must be signed in to change notification settings - Fork 519
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is there a way that EDS IPAddress accepts docker hostname with EDS Cluster? #87
Comments
Unfortunately, while you can set the cluster type to The way we solve this in rotor is to resolve the DNS entry within the control-plane, and hand out resolved IPs in EDS. |
Below code worked for me.
|
Yes, the other way to do this is to embed the hostlist directly in the cluster response, rather than using EDS at all. |
Is this still the case? |
AFAIK yes, but I haven’t been involved with the project for several months. |
The alternative solution I provided seems no more of use (from v1.9). As Hosts in the cluster is now deprecated by LoadAssignment of type *ClusterLoadAssignment which uses EDS Cluster. This is troublesome for me too. I am staying at v1.8, as I use Docker as host and need to resolve docker service hostname to (multiple) IP. |
Handing out resolved IPs in the server before they make it to the proxies is the best solution for this. It's a relatively trivial fix as well |
I have been using LOGICAL_DNS with envoy container starting with --dns, run dnsmasq at at the IP which can route to different DNS servers based on domains |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions. |
is this issue resolved? can we resolve DNS name with EDS as config? |
@binpatel31 I don't think we can. Though, I haven't checked the latest version. |
I also would like to know if this issue was addressed. Static config does work but it don't seem to be working for my dynamic config. Whenever I replace an IP with a service name, in my EDS file, I get the following error: |
In the attention note of https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/endpoint/v3/endpoint_components.proto#config-endpoint-v3-endpoint |
Is there a way we can use docker service eg
webapp_dev_webapp.1.no9rqsfuz73k026uod3hsjk83
ascore.SocketAddress.Address
?Docker service name for a static cluster address defined in envoy config yaml works well and resolves fine, as cluster type is logical_dns. For dynamic Envoy config, cluster type = EDS, and each cluster has its Endpoints. If I provide normal IP Address and port for each Endpoint, it works fine.
But each of my services is hosted in docker, and there is an issue using docker's internal ipaddress which is in subnet format. My option is to use docker services' Host name, as envoy itself is in same docker network, resolving hostname should not be a problem.
I initialized Endpoint as
After generating and setting snapshot with above settings, envoys updates LDS, RDS, CDS but throws error in EDS as
[warning][config] bazel-out/k8-opt/bin/source/common/config/_virtual_includes/grpc_mux_subscription_lib/common/config/grpc_mux_subscription_impl.h:70] gRPC config for type.googleapis.com/envoy.api.v2.ClusterLoadAssignment rejected: Unknown address resolver: LOGICAL_DNS. Consider setting resolver_name or setting cluster type to 'STRICT_DNS' or 'LOGICAL_DNS'
.Is docker hostname via EDS cluster not supported yet or am I missing something?
The text was updated successfully, but these errors were encountered: