解决方案
我在主节点的kube-apiserver.yaml中附加了功能门。这破坏了apiserver,因此kubectl无法连接到节点。删除它们后,它工作正常。
问题
我使用aks-engine部署了Kubernetes集群,但是当我尝试使用kubectl时出现此错误Unable to connect to the server: dial tcp 13.66.162.75:443: i/o timeout
。我可以使用串行控制台访问主节点,但不能通过ssh访问(在这种情况下,会出现相同的错误)。
$ KUBECONFIG=_output/kubeconfig/kubeconfig.westus2.json kubectl get node
Unable to connect to the server: dial tcp 13.66.162.75:443: i/o timeout
$ KUBECONFIG=_output/kubeconfig/kubeconfig.westus2.json kubectl version
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.6", GitCommit:"6260bb08c46c31eea6cb538b34a9ceb3e406689c", GitTreeState:"clean", BuildDate:"2017-12-21T06:34:11Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Aks-Engine版本-v0.28.1-linux-amd64
Kubernetes版本-1.10.12
这是kubeconfig.westus2.json文件-
{
"apiVersion": "v1",
"clusters": [
{
"cluster": {
"certificate-authority-data": "*****"
"server": "https://masquerade-az.westus2.cloudapp.azure.com"
},
"name": "masquerade-az"
}
],
"contexts": [
{
"context": {
"cluster": "masquerade-az",
"user": "masquerade-az-admin"
},
"name": "masquerade-az"
}
],
"current-context": "masquerade-az",
"kind": "Config",
"users": [
{
"name": "masquerade-az-admin",
"user": {"client-certificate-data":"****","client-key-data":"*****"}
}
]
}
This是入站端口的屏幕截图。
This是出站端口的屏幕截图。
答案 0 :(得分:0)
与原始海报共享,解决方案是:
我在主节点的kube-apiserver.yaml中附加了功能门。这破坏了apiserver,因此kubectl无法连接到节点。删除它们后,它工作正常。