我开始为我们的应用程序构建一个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,现在连接起来没有任何麻烦。谢谢你的建议!
答案 0 :(得分:1)
Gaurav 的回答几乎总结了它。事实上,您可以参考 documentation 声明
<块引用>API 服务器端点没有公共 IP 地址。管理 API 服务器,您需要使用可以访问 AKS 群集的虚拟机 Azure 虚拟网络 (VNet)。有几种选择 建立与专用集群的网络连接。
要连接到私有集群,只有 3 种方法:
<块引用>答案 1 :(得分:0)
通常,这就是连接所需要的。检查防火墙是否没有阻止任何流量。另外,再次验证订阅ID和其他标识符,并确保使用正确的值。如果问题仍然存在,建议您向天青支持寻求帮助。
答案 2 :(得分:0)
将其发布为Community Wiki以获得更好的可见性。
OP提供的解决方案:
删除资源并启动新版本的AKS。
有关详细信息,您可以检查文档Create a resource group,Create AKS cluster和resource 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,从而为我解决了这个问题。