-
Notifications
You must be signed in to change notification settings - Fork 909
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
DNS query failed in k8s by service name #1694
Comments
Hi! Could you paste your
|
Yes, the /etc/resolv.conf do contains the search options. It seem that armeria always transform a relative dns name to absulute one by adding a trailing dot at the end of the host name.
|
Hi, the DefaultDnsQuestion in netty will transform a relative dns name to an absolute one. So the search options will never work. |
Let us investigate this further. Thanks for reporting. 👍 |
One more question: Could you set the log level of |
.. and could you also let us know the version of Armeria and Netty in your class path? |
armeria version: 0.82.0 the parent class of DefaultDnsQuestion append the trailing dot to the host name, Please refer to this file AbstractDnsRecord |
… `/etc/resolv.conf` Motivation: When using `Dns*EndpointGroup` with search domains in `/etc/resolv.conf`, the resolver should try all search domains until the host name is resolved. However, it treats the specified host name as a full domain name by appending a dot (.) to the specified host name. Modifications: - Introduce a new `DnsQuestion` implementation called `DnsQuestionWithoutTrailingDot` which does not append a dot at the end of the host name. Result: - `Dns*EndpointGroup` respects the search domains in `/etc/resolv.conf`. - Fixes line#1694
Should be fixed with #1697. Please give it a try if you don't mind building Armeria by yourself. |
Great. I'm on vacation, and will have a try next week. It 'would be appreciated that An new release that fixed this issue will be made soon. |
… `/etc/resolv.conf` (#1697) Motivation: When using `Dns*EndpointGroup` with search domains in `/etc/resolv.conf`, the resolver should try all search domains until the host name is resolved. However, it treats the specified host name as a full domain name by appending a dot (.) to the specified host name. Modifications: - Introduce a new `DnsQuestion` implementation called `DnsQuestionWithoutTrailingDot` which does not append a dot at the end of the host name. Result: - `Dns*EndpointGroup` respects the search domains in `/etc/resolv.conf`. - Fixes #1694
… `/etc/resolv.conf` (line#1697) Motivation: When using `Dns*EndpointGroup` with search domains in `/etc/resolv.conf`, the resolver should try all search domains until the host name is resolved. However, it treats the specified host name as a full domain name by appending a dot (.) to the specified host name. Modifications: - Introduce a new `DnsQuestion` implementation called `DnsQuestionWithoutTrailingDot` which does not append a dot at the end of the host name. Result: - `Dns*EndpointGroup` respects the search domains in `/etc/resolv.conf`. - Fixes line#1694
Hi, the DnsAddressEndpointGroup can not resolve successfully by the k8s service name, and must use a fully qualified domain name.
e.g.
The text was updated successfully, but these errors were encountered: