Azure上的Kubernetes:connectex

时间:2017-05-31 10:37:26

标签: azure kubernetes acs

使用Azure门户从link开始创建K8s群集的步骤。尝试在远程计算机上使用kubectl来检查它是否正常工作。得到了这个错误。

  

无法连接到服务器:拨打tcp 13.90.35.157:443:connectex:   连接尝试失败,因为连接方没有   在一段时间后正确回应,或建立连接   失败,因为连接的主机无法响应。

我可以通过SSH连接到K8s主人。从主人那里尝试了kubectl get nodes并得到了类似的错误。

2 个答案:

答案 0 :(得分:1)

很难说从这样的描述出现了什么问题,但是因为这是一个新的集群(我说这是因为有时k8s集群已经部署但是没有真正起作用,所以),我建议删除它并创建一个新的和/或使用Azure Cli \ Azure Cloud Shell创建它。

基本上就像它一样简单:

az acs create -n acs-cluster -g acsrg1 -d applink789 --generate-ssh-keys

如果您已创建资源组,则可以使用:

创建资源组
az group create -n acsrg1 -l "westus"

答案 1 :(得分:0)

根据您的描述,您似乎正确配置了服务主体。我使用错误的服务主体在Azure中部署K8S,得到同样的错误:

C:\Users>kubectl get nodes
Unable to connect to the server: dial tcp 13.90.27.73:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

您可能需要检查以确保准确提供凭据,并且已配置的服务主体具有对目标订阅的读写权限。 如果您的服务主体配置错误,那么kubernetes组件都不会以健康的方式出现。我们可以查看是否存在这个问题:

root@k8s-master-6FEE48E1-0:~# journalctl -u kubelet | grep --text autorest

如果您看到如下所示的输出,则表示您尚未正确配置服务主体。

root@k8s-master-6FEE48E1-0:~# journalctl -u kubelet | grep --text autorest
Jun 01 01:58:47 k8s-master-6FEE48E1-0 docker[5522]: E0601 01:58:47.447321    6028 kubelet.go:1186] Cannot get Node info: failed to get external ID from cloud provider: autorest#WithErrorUnlessStatusCode: POST https://login.microsoftonline.com/1fcf418e-66ed-4c99-9449-d8e18bf8737a/oauth2/token?api-version=1.0 failed with 400 Bad Request: StatusCode=400
Jun 01 01:58:47 k8s-master-6FEE48E1-0 docker[5522]: E0601 01:58:47.627128    6028 kubelet_node_status.go:70] Unable to construct api.Node object for kubelet: failed to get external ID from cloud provider: autorest#WithErrorUnlessStatusCode: POST https://login.microsoftonline.com/1fcf418e-66ed-4c99-9449-d8e18bf8737a/oauth2/token?api-version=1.0 failed with 400 Bad Request: StatusCode=400
Jun 01 01:58:47 k8s-master-6FEE48E1-0 docker[5522]: E0601 01:58:47.885092    6028 kubelet_node_status.go:70] Unable to construct api.Node object for kubelet: failed to get external ID from cloud provider: autorest#WithErrorUnlessStatusCode: POST https://login.microsoftonline.com/1fcf418e-66ed-4c99-9449-d8e18bf8737a/oauth2/token?api-version=1.0 failed with 400 Bad Request: StatusCode=400

有关如何为ACS-Engin Kubernetes群集创建/配置服务主体的更多信息,请参阅此link