没有这样的主机,为什么 OpenShift oc 登录失败?

问题描述 投票:0回答:4

在 OCP 4.3 上,从仪表板“复制登录命令”生成的 oc 登录命令

oc login --token=asdfghjk... --server=https://api.xxx.com:6443

失败:

error: dial tcp: lookup api.xxx.com on 192.168.0.1:53: no such host - verify you have provided the correct host and port and that the server is currently running.

当我用集群的公共 ip 替换它工作的主机名时。

oc login --token=asdfghjk... --server=https://1.2.3.4:6443

我可以成功ping api.xxx.com,“复制登录命令”生成的curl命令解析主机名,curl url在chrome中也有效。我已经尝试将主机和公共 ip 添加到我的 /etc/hosts 文件,但它仍然失败。

我缺少一些 oc 命令配置选项吗?或者也许是我需要启动的本地代理? (奇怪的是错误消息说

...on 192.168.0.1:53...

版本:

$ oc version
Client Version: openshift-clients-4.3.0-201910250623-88-g6a937dfe
Server Version: 4.3.0
Kubernetes Version: v1.16.2
$

更新:

我为此开了一个

oc
问题:

https://github.com/openshift/oc/issues/315

openshift
4个回答
3
投票

这不是oc客户端的问题。它按预期工作。

运行 oc 命令的计算机的 DNS 服务器不知道 OpenShift DNS 条目。

根据 IP 192.168.0.1 判断它是您的路由器。

如果您在云中部署了 OpenShift,则需要确保您使用的是公共 DNS 区域,以便可以从任何地方解析 DNS 条目。

或者,您可以将这些条目放在本地 Linux 机器上的 /etc/hosts 文件中(如果它的 Windows 路径不同),或者您可以将它们放在路由器的 DNS 设置中。


0
投票

我遇到类似的“没有这样的主机”问题运行

oc rsh
命令。再次
oc logout
oc login
后,问题解决


0
投票

今天在 MacOS 上遇到了同样的问题。 Ping 可以解析主机,但 nslookup 和 dig 都无法解析主机,dig 和 nslookup 使用的名称服务器是我的默认网关地址/端口 53。

修复: 转到系统偏好设置 > 网络 > 高级 > DNS 选项卡。添加解析主机名的名称服务器,在我的例子中是 Intranet 名称服务器(我是 VPN'ed)。为了以防万一,我还添加了几个公共名称服务器。

现在 Dig / nslookup 解析主机,我的 oc 登录有效

结论? 我不确定这是一个 oc 问题,还是一个 VPN 配置问题。似乎 VPN 没有正确添加内网 DNS。但是我无法解释为什么,在我添加名称服务器之前,ping 有效但 dig/nslookup 没有。


0
投票

我遇到同样的问题,但同一区域中两个不同服务器之间的连接。 我不知道如何解决它。

© www.soinside.com 2019 - 2024. All rights reserved.