Устранение неполадок с кодом ошибки 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-сервер, ознакомьтесь со следующими статьями:
- Создание частного кластера AKS
- Частная служба Azure Kubernetes с пользовательским DNS-сервером
- Что такое IP-адрес 168.63.129.16?
При использовании частного кластера с пользовательским 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.