Кубернетес на Лазурном: коннектекс

Следуйте инструкциям по ссылке, чтобы создать кластер K8s с помощью портала Azure. Попытался использовать kubectl на удаленной машине, чтобы проверить, работает ли он. Получил эту ошибку.

Невозможно подключиться к серверу: наберите tcp 13.90.35.157:443: connectex: Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, так как подключенный хост не смог ответить.

Я могу SSH к мастеру K8s. Пытался kubectl get nodes от мастера и получил аналогичную ошибку.

2 ответа

Из такого описания действительно трудно сказать, что пошло не так, но поскольку это новый кластер (и я говорю это потому, что иногда кластер k8s развертывается, но на самом деле не работает, поэтому), я бы предложил удалить его и создание нового и / или его создание с помощью облачной оболочки Azure Cli\Azure.

В основном это так просто, как:

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

если у вас есть созданная группа ресурсов, если нет, вы можете создать ее с помощью:

az group create -n acsrg1 -l "westus"

Согласно вашему описанию, вы, кажется, неправильно настроили Принципала Сервиса. Я использую неверный принципал службы для развертывания K8S в Azure, получаю ту же ошибку:

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, см. По этой ссылке.

Другие вопросы по тегам