Устранение неполадок с кодом ошибки 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-сервера см. в следующих статьях:
- Создание частного кластера 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.