无法连接到服务器:拨打tcp:查找<服务器位置>:没有这样的主机

时间:2020-08-27 18:41:16

标签: azure powershell kubernetes kubectl azure-kubernetes

我开始为我们的应用程序构建一个kubernetes集群。我们将Azure用于云服务,因此我的K8s群集是使用AKS构建的。 AKs群集是使用Azure门户网站界面创建的。它有一个节点,我正在尝试用一个容器创建一个Pod,以部署到该节点。我目前遇到的问题是尝试从Powershell连接到AKS群集。 我已采取的步骤是:

az login (followed by logging in)
az account set --subscription <subscription id>
az aks get-credentials --name <cluster name> --resource-group <resource group name>
kubectl get nodes

输入最后一行后,出现错误:无法连接到服务器:拨号tcp:查找:没有这样的主机

在SO和其他论坛上,我也发现了一些其他的漏洞,但是说实话,在进一步复杂化之前,我正在寻找一种直接访问集群的方法。

编辑:因此最后,我删除了正在使用的资源,并启动了新版本的AKS,现在连接起来没有任何麻烦。谢谢你的建议!

6 个答案:

答案 0 :(得分:1)

Gaurav 的回答几乎总结了它。事实上,您可以参考 documentation 声明

<块引用>

API 服务器端点没有公共 IP 地址。管理 API 服务器,您需要使用可以访问 AKS 群集的虚拟机 Azure 虚拟网络 (VNet)。有几种选择 建立与专用集群的网络连接。

要连接到私有集群,只有 3 种方法:

<块引用>
  • 在与 AKS 群集相同的 Azure 虚拟网络 (VNet) 中创建 VM。
  • 在单独的网络中使用虚拟机并设置虚拟网络对等互连。有关此选项的更多信息,请参阅以下部分。
  • 使用 Express Route 或 VPN 连接。

答案 1 :(得分:0)

通常,这就是连接所需要的。检查防火墙是否没有阻止任何流量。另外,再次验证订阅ID和其他标识符,并确保使用正确的值。如果问题仍然存在,建议您向天青支持寻求帮助。

答案 2 :(得分:0)

将其发布为Community Wiki以获得更好的可见性。

OP提供的解决方案:

删除资源并启动新版本的AKS。

有关详细信息,您可以检查文档Create a resource groupCreate AKS clusterresource create

下次尝试值得尝试:

kubectl config use-context <cluster-name>

类似于在Github issue中提出的建议。

答案 3 :(得分:0)

使用桌面Powershell中的Az模块进行Azure门户的任何管理操作更为方便。微软添加了许多新的cmdlet来管理AKS和Service Fabric群集。

请看看Az.Aks

在您的情况下:

Connect-AzAccount

Get-AzAksNodePool

答案 4 :(得分:0)

无法连接到服务器:拨打tcp:lookup:没有这样的主机

该错误是由于私有群集而来。创建AKS群集时,将启用“专用群集”选项。您需要禁用此选项。

Kubectl是一个kubernetes控制客户端。它是与我们的kubernetes集群连接的外部连接提供商。我们无法从外部连接到私有集群。

相信我。...只需禁用私有群集选项,然后看看您的成功。谢谢。

注意:创建集群后,我们无法禁用此选项。您需要删除集群,然后再次对其进行重新整理。

答案 5 :(得分:0)

jenkins 运行kubectl命令时,我遇到了同样的问题。对我来说,~/.kube/config的许可问题也使我可以访问jenkins,从而为我解决了这个问题。