我有一个 Kubernetes 集群,我在其上部署了 pod 和服务。其中一个 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 的服务。
当我在 pod 内运行 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
寻求有关如何解决此问题的帮助。