我有一个Kubernetes集群,在上面部署了Pod和服务。其中一个Pod应该通过提供其清单的服务名称连接到服务。
所有服务和pod均部署在默认名称空间中。
查看广告连播的日志时出现以下错误:
cassandra cluster ['cassandra'] not reachable: [Errno -8] Unrecognized service
Caused by: java.net.UnknownHostException: cassandra: Name does not resolve
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
at java.net.InetAddress.getAllByName0(InetAddress.java:1276)
at java.net.InetAddress.getAllByName(InetAddress.java:1192)
at java.net.InetAddress.getAllByName(InetAddress.java:1126)
at com.datastax.driver.core.Cluster$Builder.addContactPoint(Cluster.java:884)
我部署了一项名为cassandra的服务。
当我在容器中运行nslookup时,输出如下:
kubectl exec -it pod/kairosdb -- nslookup cassandra
nslookup: can't resolve '(null)': Name does not resolve
Name: cassandra
Address 1: <ip> cassandra.default.svc.cluster.local
正在寻求有关如何解决此问题的帮助。
答案 0 :(得分:1)
答案 1 :(得分:1)
对于本地查找,请使用标准服务名称。在这种情况下, cassandra.deployed-namespace-name.svc.cluster.local 。