在K8S上Redission客户端域名解析失败

DNS查询出现的问题

在tutor-neo-question项目接入到soho-k8s后,在tutor-neo-question-86ccc7bfcc-g59kf / tutor-neo-question-569b6d9fb9-ggxw6 pod上服务出现dns查询出失败,导致业务无法启动


排查过程

由于问题是一直持续出现,非偶发情况,首先登陆到该pod尝试手动解析域名,发现域名可以正常解析,说明主机上dns解析没问有问题,且dns server也没有问题。


通过日志发现解析失败的域名是:xxxx.redis.rds.aliyuncs.com.zhenguanyu.com, 增加了一个zhengguanyu.com,在pod里的/etc/resolv.conf里发现配置了search,因此增加zhenguanyu.com是一个合理行为,我们的主机名都是挂载zhenguanyu.com下面的。例如:soho-test为主机名,实际的域名为soho-test.zhenguanyu.com


resolv.conf增加了search域后解析的过程发生了变化:

第一次解析:xxxx.redis.rds.aliyuncs.com.default.svc.cluster.local A

第二次解析:xxxx.redis.rds.aliyuncs.com.default.svc.cluster.local AAAA

第三次解析:xxxx.redis.rds.aliyuncs.com.svc.cluster.local A

第四次解析:xxxx.redis.rds.aliyuncs.com.svc.cluster.local AAAA

第五次解析:xxxx.redis.rds.aliyuncs.com.cluster.local A

第六次解析:xxxx.redis.rds.aliyuncs.com.cluster.local AAAA

第七次解析:xxxx.redis.rds.aliyuncs.com.zhenguanyu.com A

第八次解析:xxxx.redis.rds.aliyuncs.com.zhenguanyu.com AAAA

第九次解析:xxxx.redis.rds.aliyuncs.com. A

第十次解析:xxxx.redis.rds.aliyuncs.com. AAAA

这个变化会导致域名查询的失败率大大提高,但是不是引起本案例的问题。

因为是持续出现,在排除了dns server和pod的问题后,最后和业务方沟通发现将redission库升级了就好了,业务之前用的是原生的redisson 3.5.7,升级3.12.1版本可以解决此问题

此问题主要是netty的问题,问题主要有2个,issues: https://github.com/netty/netty/issues/8261

第一个:


第二个:


解决方案

建议升级到3.12.1以后

你可能感兴趣的:(在K8S上Redission客户端域名解析失败)