如何解决无法规范化 EKS 集群中的地址
我在 Kubernetes 中使用相同的操作员代码设置了两个 Pod。当尝试连接到zookeeper pod时,其中一个给出错误(broker pod):
java.lang.IllegalArgumentException:
Unable to canonicalize address tiny-cluster-zk-0.tiny-cluster-zk:2181 because it's not resolvable
其他 pod 能够解析
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
当我 exec 进入工作 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
但是在buggy pod(broker pod)上,ping到zookeeper服务不起作用
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 的节点之一没有正确的策略。因此存在连接问题。修复了这个问题,所有进程都能够相互通信
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。