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

Car*_*son 7 powershell azure kubernetes kubectl azure-aks

我开始为我们的应用程序构建一个 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
Run Code Online (Sandbox Code Playgroud)

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

我还在 SO 和其他论坛上发现了一些其他的兔子洞,但老实说,我正在寻找一种直接的方法来访问我的集群,然后再进一步复杂化。

编辑:所以最后,我删除了我正在使用的资源并启动了一个新版本的 AKS,现在连接没有问题。谢谢你的建议!

Car*_*cho 12

截至目前, aks run 命令添加了第四个选项来连接到私有集群,扩展了@Darius之前发布的三个选项

  1. 使用AKS 运行命令功能

下面是一个简单命令的一些复制/粘贴摘录,以及一个需要文件的命令。可以使用 链接多个命令&&

az aks command invoke \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --command "kubectl get pods -n kube-system"

az aks command invoke \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --command "kubectl apply -f deployment.yaml -n default" \
  --file deployment.yaml
Run Code Online (Sandbox Code Playgroud)

如果出现错误(ResourceGroupNotFound),也请尝试添加订阅

az aks command invoke \
  --resource-group myResourceGroup \
  --name myAKSCluster \
  --subscription <subscription> \
  --command "kubectl get pods -n kube-system"
Run Code Online (Sandbox Code Playgroud)

您还可以配置默认订阅:

az account set -s <subscription>
Run Code Online (Sandbox Code Playgroud)


小智 9

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

由于私有集群而出现错误。创建 AKS 群集时启用“私有群集”选项。您需要禁用此选项。

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

相信我......只需禁用私有集群选项即可看到您的成功。谢谢。

注意:创建集群后我们无法禁用此选项。您需要删除集群并再次重组它。