域名解析失败,如何定位处理?
排查项一:检查是否已安装coredns插件
- 登录CCE控制台,进入集群。
- 在左侧导航栏中选择“插件管理”,在“已安装插件”中确认异常的集群是否已安装coredns插件。
- 如果未安装,请安装。详情请参见为什么CCE集群的容器无法通过DNS解析?
排查项二:检查coredns实例是否已到达性能瓶颈
- 登录CCE控制台,进入集群。
- 在左侧导航栏中选择“插件管理”,在“已安装插件”中找到集群对应的coredns插件。
- 确认插件状态为“运行中”。
- 在“资源列表”页签中查看coredns实例的容器监控,确认是否已到达性能瓶颈。如果资源使用率偏高,请在“参数列表”页签中进行编辑,修改coredns的并发性能。
排查项三:解析外部域名很慢或超时
如果域名解析失败率低于1/10000,请参考解析外部域名很慢或超时,如何优化配置?进行参数优化,或在业务中增加重试。
排查项四:概率性出现UnknownHostException
集群中的业务请求到外部域名服务器时发生域名解析错误,概率性出现UnknownHostException。
简介:
UnknownHostException是一个常见的异常,发生该异常时优先检查域名是否存在问题或键入错误。
- 仔细检查主机名:检查域名的拼写并修剪多余的空格是很好的。
- 检查DNS设置:在运行应用程序之前,使用计算机上的ping hostname命令确保DNS服务器已启动并正在运行。如果主机名是新的,则需要等待一段时间才能访问DNS服务器。
如果检查后无上述问题,可采用下方优化策略。
优化策略:
- 修改coredns的缓存时间
- 配置存根域
- 修改ndots

- 增加coredns的缓存时间:有利于同一个域名的第N次解析,较少级联DNS的请求数量。
- 配置存根域:有利于减少dns请求链路。
修改方式:
- 修改coredns缓存时间及配置存根域
修改方法请参见为CoreDNS配置存根域。
修改完成后重启coredns。
- 修改ndots
修改方法请参见解析外部域名很慢或超时,如何优化配置?。
示例:
dnsConfig: options: - name: timeout value: '2' - name: ndots value: '5' - name: single-request-reopen
建议值修改成:2
域名DNS所有常见问题
more
