丨Modred丨 2018-04-02 11:43 采纳率: 0%
浏览 2197
已结题

k8s statuefulset内的Headless service找不到域名

在做基于k8s的有状态集群部署zookeeper,然后后台文件系统选用的clusterfs,
部署完之后发现zk启动失败,hosts文件中只有自己docker节点的域名,然后报错是无法解析其余两台zk主机的域名

2018-04-02 11:31:07,916 [myid:] - WARN [main:QuorumPeer$QuorumServer@173] - Failed to resolve address: zk-2.zk-hs.default.svc.cluster.local.
java.net.UnknownHostException: zk-2.zk-hs.default.svc.cluster.local.: Name or service not known
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)

server.1=zk-0.zk-hs.default.svc.cluster.local.:2888:3888
server.2=zk-1.zk-hs.default.svc.cluster.local.:2888:3888
server.3=zk-2.zk-hs.default.svc.cluster.local.:2888:3888

  • 写回答

2条回答 默认 最新

  • ANDY900118 2018-05-14 06:43
    关注

    我也遇到了楼主同样的问题,只能解析到自己域名,无法解析到集群中另外两个节点的域名。检查k8s的服务是否都是正常的,其中有一个POD专门为DNS
    服务的。指令为kubectl get pods -- namespace=kube-system ,如果dns的pod不是处于running状态,就会出现上述楼主的问题,将这个pod成功启动后就可以解析到所有的域名。

    评论

报告相同问题?