执行nslookup {podname}.{svcname}.default.svc.cluster.local,无法获取IP
执行nslookup {svcname}.default.svc.cluster.local,可以得到svc的IP
kubecetl get endpoint,可以看到svc对应的端点IP,但nslookup却无法解析pod IP.
kubectl edit endpoint XXX,发现endpoint 缺少一行: hostname: {podname}
手动增加这一行,保存。执行nslookup {podname}.{svcname}.default.svc.cluster.local,可以获得IP.本以为问题解决。
但过几个小时后,解析又消失了。查看endpoint ,hosname这一行又自动消失了。
查询k8s的 endpoint ,hosname资料,发现一个线索:在pod中可以指定hostname
顺藤摸瓜,检查不正常的pod对应的deploy文件,发现一行关键字:serviceName指定的值不正确。将serviceName修改为正确的{svcname},重新生成Pod
nslookup {podname}.{svcname}.default.svc.cluster.local,可以获得IP.问题解决.