According to your description, it seems you have not configured the Service Principal correctly.
You may need to check to ensure the credentials were provided accurately, and that the configured Service Principal has read and write permissions to the target Subscription.
If your Service Principal is misconfigured, none of the kubernetes components will come up in a healthy manner. We can check to see if this the problem:
jason@k8s-master-955348FB-0:~$ sudo journalctl -u kubelet | grep --text autorest
If you see output that looks like the following, it means you have not configured the service Principal correctly.
jason@k8s-master-955348FB-0:~$ sudo journalctl -u kubelet | grep --text autorest
Jun 05 15:43:59 k8s-master-955348FB-0 docker[5524]: E0605 15:43:59.736607 6020 kubelet.go:1186] Cannot get Node info: failed to get external ID from cloud provider: autores#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 05 15:43:59 k8s-master-955348FB-0 docker[5524]: E0605 15:43:59.924924 6020 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 05 15:44:00 k8s-master-955348FB-0 docker[5524]: E0605 15:44:00.199542 6020 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
More information about how to create /configure a service principal for ACS-Engin Kubernetes cluster by Azure CLI 2.0, please refer to this link.
By the way, I had test it with the wrong Service Principal, and try to run kubectl version
, same error as you:
jason@k8s-master-955348FB-0:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:40:50Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Unable to connect to the server: dial tcp 40.114.10.73:443: i/o timeout
Here a similar case about Azure K8S, please refer to it.