Поделиться через


Устранение неполадок с кодом ошибки 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 15 октября 10:06:00 UTC 2021,aks- nodepool1-3669644-vmss000000\nConnection к mcr.microsoft.com 443 порт [tcp/https]

Причина

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

ОС узла Команда
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.