我在Kubernetes中使用相同的运算符代码设置了两个pod。当试图连接到动物园管理员吊舱时,其中一个会给出错误(代理吊舱(:
java.lang.IllegalArgumentException:
Unable to canonicalize address tiny-cluster-zk-0.tiny-cluster-zk:2181 because it's not resolvable
另一个吊舱能够解决
2021-06-07T18:06:59,476 INFO [main-SendThread(tiny-cluster-zk-0.tiny-cluster-zk:2181)] org.apache.zookeeper.ClientCnxn -
Socket connection established to tiny-cluster-zk-0.tiny-cluster-zk/172.xx.yyy.zzz:2181, initiating session
当我执行到工作pod并运行ping命令时,我看到的是:
ping tiny-cluster-zk-0.tiny-cluster-zk
PING tiny-cluster-zk-0.tiny-cluster-zk (172.31.248.114): 56 data bytes
如果我用解析的IP替换它,也能工作
ping 172.xx.yyy.zzz
PING 172.xx.yyy.zzz (172.xx.yyy.zzz): 56 data bytes
但在童车吊舱(代理吊舱(上,向动物园管理员服务ping不起作用
ping tiny-cluster-zk-0.tiny-cluster-zk
ping: bad address 'tiny-cluster-zk-0.tiny-cluster-zk'
如果我用IP替换名称,它就可以
ping 172.xx.yyy.zzz
PING 172.xx.yyy.zzz (172.xx.yyy.zzz): 56 data bytes
这个名字似乎没有得到解决。我试着按照文档中的步骤进行操作:https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/,仍然没有解决方案。
kubectl exec -i -t druid-tiny-cluster-brokers-0 -- nslookup kubernetes.default
;; connection timed out; no servers could be reached
command terminated with exit code 1
任何指针都有助于
问题是调度pod的某个节点没有正确的策略。因此出现了连接问题。修复了这个问题,所有进程都能够相互通信