DNS查詢出現(xiàn)的問(wèn)題
在tutor-neo-question項(xiàng)目接入到soho-k8s后,在tutor-neo-question-86ccc7bfcc-g59kf / tutor-neo-question-569b6d9fb9-ggxw6 pod上服務(wù)出現(xiàn)dns查詢出失敗,導(dǎo)致業(yè)務(wù)無(wú)法啟動(dòng)
排查過(guò)程
由于問(wèn)題是一直持續(xù)出現(xiàn)祖很,非偶發(fā)情況惩妇,首先登陸到該pod嘗試手動(dòng)解析域名涝影,發(fā)現(xiàn)域名可以正常解析蜡感,說(shuō)明主機(jī)上dns解析沒(méi)問(wèn)有問(wèn)題呻待,且dns server也沒(méi)有問(wèn)題笛粘。
通過(guò)日志發(fā)現(xiàn)解析失敗的域名是:xxxx.redis.rds.aliyuncs.com.zhenguanyu.com趁怔, 增加了一個(gè)zhengguanyu.com湿硝,在pod里的/etc/resolv.conf里發(fā)現(xiàn)配置了search,因此增加zhenguanyu.com是一個(gè)合理行為润努,我們的主機(jī)名都是掛載zhenguanyu.com下面的关斜。例如:soho-test為主機(jī)名,實(shí)際的域名為soho-test.zhenguanyu.com
resolv.conf增加了search域后解析的過(guò)程發(fā)生了變化:
第一次解析: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
這個(gè)變化會(huì)導(dǎo)致域名查詢的失敗率大大提高铺浇,但是不是引起本案例的問(wèn)題痢畜。
因?yàn)槭浅掷m(xù)出現(xiàn),在排除了dns server和pod的問(wèn)題后鳍侣,最后和業(yè)務(wù)方溝通發(fā)現(xiàn)將redission庫(kù)升級(jí)了就好了丁稀,業(yè)務(wù)之前用的是原生的redisson 3.5.7,升級(jí)3.12.1版本可以解決此問(wèn)題
此問(wèn)題主要是netty的問(wèn)題倚聚,問(wèn)題主要有2個(gè)线衫,issues: https://github.com/netty/netty/issues/8261
第一個(gè):
第二個(gè):
解決方案
建議升級(jí)到3.12.1以后