【发布时间】:2023-03-06 13:32:01
【问题描述】:
我有一个 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
寻求有关如何解决此问题的帮助。
【问题讨论】:
-
这是在寻找名称
cassandra。在同一个命名空间中是否有具有此名称的服务?您可以从您的一个 pod 中查找此名称吗? -
@BurakSerdar 我更新了帖子来回答你的问题
-
您的集群中有正在运行的 dns 吗?你能找到其他名字吗?
标签: kubernetes kubernetes-networking