错误日志:
2018-10-17 06:13:22,818 ERROR (RestUtils.java:93)- POST /v4/default/registry/microservices fail, endpoint is cse.cn-north-1.myhuaweicloud.com:443, message: Search domain query failed. Original hostname: 'cse.cn-north-1.myhuaweicloud.com' failed to resolve 'cse.cn-north-1.myhuaweicloud.com.cluster.local' after 3 queries
解决方法:
这个错误是由于域名解析失败。在某些环境上需要配置域名解析参数,才能够正常解析。CSE默认在cse-solution-service-engine里面提供了默认配置:
# 域名解析
addressResolver:
searchDomains: default.svc.cluster.local,svc.cluster.local,cluster.local
ndots: 1
一般不会出现问题,通常是业务没有依赖CSE提供的公共POM或者老版本。在自己的配置文件增加这个配置即可。DNS的其他配置参考:
https://docs.servicecomb.io/java-chassis/zh_CN/general-development/dnsconfig.html
有些时候,在Windows笔记本电脑上做开发的时候也会碰到这个问题,通常是由于Netty在Windows多网卡环境下做DNS域名解析的时候,选错了网卡导致的。
Windows笔记本电脑通常有一张无线网卡一张有线网卡,用户通常是连WiFi进行开发的,而有时候Netty会误选择有线网卡来做DNS解析,此时也有会碰到这种错误,可以考虑禁用有线网卡。