Устранение неполадок с кодом ошибки K8SAPIServerDNSLookupFailVMExtensionError (52)

В этой статье описывается, как определить и устранить ошибку K8SAPIServerDNSLookupFailVMExtensionError (также известную как код ошибки ERR_K8S_API_SERVER_DNS_LOOKUP_FAIL, ошибка номер 52), которая возникает при попытке запустить или создать и развернуть кластер Microsoft Служба Azure Kubernetes (AKS).

Предварительные требования

  • Средство поиска DNS nslookup для узлов Windows или средство поиска для узлов Linux.

  • Azure CLI версии 2.0.59 или более поздней. Если Azure CLI уже установлен, номер версии можно найти, запустив az --version.

Симптомы

При попытке запустить или создать кластер AKS появляется следующее сообщение об ошибке:

Агенты не могут разрешить имя сервера API Kubernetes. Скорее всего, настраиваемый DNS-сервер настроен неправильно. Дополнительные сведения см https://aka.ms/aks/private-cluster#hub-and-spoke-with-custom-dns . в этой статье.

Сведения: Code="VMExtensionProvisioningError"

Message="Виртуальная машина сообщила о сбое при обработке расширения "vmssCSE".

Сообщение об ошибке: "Не удалось выполнить команду: команда завершилась с состоянием выхода=52\n[stdout]\n{

"ExitCode": "52",

"Output": "Fri Oct 15 10:06:00 UTC 2021,aks- nodepool1-36696444-vmss0000000\nПодключение к mcr.microsoft.com 443 порт [tcp/https]

Причина

Узлы кластера не могут разрешить полное доменное имя кластера (FQDN) в Azure DNS. Выполните следующую команду поиска DNS на узле кластера, где произошел сбой, чтобы найти допустимые разрешения DNS.

Ос Узла Command
Linux dig <cluster-fqdn>
Windows nslookup <cluster-fqdn>

Решение

На DNS-серверах и брандмауэре убедитесь, что разрешение для полного доменного имени кластера не блокируется. Пользовательский DNS-сервер может быть неправильно настроен, если что-то блокируется даже после выполнения nslookup команды или dig и применения необходимых исправлений. Сведения о настройке пользовательского DNS-сервера см. в следующих статьях:

При использовании частного кластера с пользовательским DNS создается зона DNS. Зона DNS должна быть связана с виртуальной сетью. Это происходит после создания кластера. Создание частного кластера с настраиваемой DNS во время создания завершается сбоем. Однако вы можете восстановить процесс создания до состояния "успешно" путем согласования кластера. Для этого выполните команду az resource update в Azure CLI следующим образом:

az resource update --resource-group <resource-group-name> \
    --name <cluster-name> \
    --namespace Microsoft.ContainerService \
    --resource-type ManagedClusters

Также убедитесь, что DNS-сервер настроен правильно для частного кластера, как описано ранее.

Примечание.

Условная пересылка не поддерживает поддомены.

Дополнительная информация

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.