微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法规范化 EKS 集群中的地址

如何解决无法规范化 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?