使用Azure门户从link开始创建K8s群集的步骤。尝试在远程计算机上使用kubectl来检查它是否正常工作。得到了这个错误。
无法连接到服务器:拨打tcp 13.90.35.157:443:connectex: 连接尝试失败,因为连接方没有 在一段时间后正确回应,或建立连接 失败,因为连接的主机无法响应。
我可以通过SSH连接到K8s主人。从主人那里尝试了kubectl get nodes
并得到了类似的错误。
答案 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。