Устранение неполадок подключения к конечным точкам за пределами виртуальной сети

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

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

  • Azure CLI.

  • Средство Kubernetes kubectl или аналогичное средство для подключения к кластеру. Чтобы установить kubectl с помощью Azure CLI, выполните команду az aks install-cli .

Контрольный список для устранения неполадок

Шаг 1. Выполнение основных действий по устранению неполадок

Убедитесь, что вы можете подключиться к общедоступным конечным точкам в Интернете. Инструкции см. в статье Базовое устранение неполадок исходящих подключений кластера AKS.

Шаг 2. Определение типа исходящего трафика для кластера AKS

Чтобы определить тип исходящего трафика кластера AKS, выполните команду az aks show :

az aks show --resource-group <resource_group> --name <cluster_name> --query "networkProfile.outboundType"

Если тип исходящего трафика — loadBalancer, убедитесь, что таблица маршрутов, связанная с узлами AKS, имеет маршрут по умолчанию в Интернет. Подробные сведения приведены в следующей таблице.

Source Префиксы адресов Тип следующего прыжка
По умолчанию 0.0.0.0/0 Интернет

Если тип исходящего трафика — userDefinedRouting, убедитесь, что выполнены следующие условия:

  • Устройство для исходящего трафика (брандмауэр или прокси-сервер) доступно.

  • Устройство исходящего трафика разрешает необходимый исходящий трафик из кластера.

    Чтобы получить список полных доменных имен, разрешенных для кластера AKS, выполните команду az aks egress-endpoints list :

    az aks egress-endpoints list --resource-group <resource_group> --name <cluster_name>
    

Если тип исходящего трафика — managedNATGateway, проверка, связана ли подсеть AKS со шлюзом NAT, выполнив команду az network nat gateway show:

az network nat gateway show --resource-group <resource_group> --name <nat_gateway_name> --query "subnets[].id"

Дополнительные сведения об использовании шлюза NAT вместе с AKS см. в разделе Управляемый шлюз NAT.

Шаг 3. Проверка выходных данных cURL при подключении к кластеру

Коды ответов cURL помогут определить тип проблемы. Когда код ответа станет доступен, попробуйте лучше понять, как происходит проблема. Дополнительные сведения о кодах состояния HTTP и базовом поведении проблемы см. в следующей таблице.

Источник информации Ссылка
Центр интернет-номеров (IANA) Реестр кодов состояния протокола HTTP
Mozilla Коды состояния ответа HTTP
Википедии Список кодов состояния HTTP

Указанные ниже коды состояния HTTP могут указывать на перечисленные проблемы.

Код состояния HTTP Проблема Пример
4xx
  1. Проблема влияет на запрос клиента.
  2. Между клиентом и сервером существует блокировщик сети.
  1. Запрошенная страница не существует или клиент не имеет разрешения на доступ к ней.
  2. Трафик блокируется группой безопасности сети или брандмауэром.
5xx Проблема влияет на сервер. Приложение не работает или шлюз не работает.

Шаг 4. Определите, что происходит, если исходящий трафик обычно проходит через виртуальную (модуль), но вместо этого вы обходите его.

Для быстрого тестирования, чтобы определить, является ли устройство исходящего трафика (виртуальное (модуль)) причиной проблемы, можно временно разрешить весь трафик проходить через Интернет. Чтобы настроить эту настройку, можно изменить IP-адрес по умолчанию и маршрут 0.0.0.0/0 порта через виртуальный (модуль) перейти через Интернет.

Является ли проблема периодическими?

По многим причинам могут возникать периодические проблемы с исходящим трафиком. Чтобы устранить периодические проблемы с исходящим подключением, выполните следующие проверки:

Исчерпан ли модуль pod или узел для ресурсов?

Выполните следующий код, чтобы проверка, как используются ресурсы:

kubectl top pods
kubectl top nodes

Используется ли диск операционной системы в значительной степени?

Чтобы проверка, активно ли используется диск операционной системы, выполните следующие действия.

  1. В портал Azure найдите и выберите Масштабируемые наборы виртуальных машин.

  2. В списке масштабируемых наборов выберите масштабируемый набор, используемый для кластера AKS.

  3. В области навигации масштабируемого набора перейдите в раздел Мониторинг и выберите Метрики.

  4. Просмотрите метрики диска для масштабируемого набора в разделе Метрики , найдите следующие поля.

    Поле Значение
    Scope Имя VMSS
    Пространство имен метрик Узел виртуальной машины
    Метрики Метрика диска данных и ОС

Дополнительные сведения о метриках см. в разделе Метрики диска ОС и диска данных.

Чтобы просмотреть рекомендации AKS по использованию диска, выполните следующие действия.

  1. В портал Azure найдите и выберите Службы Kubernetes.

  2. В списке служб Kubernetes выберите имя кластера AKS.

  3. В области навигации кластера AKS перейдите в раздел Мониторинг и выберите Рекомендации помощника.

  4. Ознакомьтесь с приведенными рекомендациями по использованию диска.

Если диск ОС используется в значительной степени, рассмотрите возможность использования следующих средств:

Если эти средства не помогли устранить проблему, проанализируйте процесс, который выполняет интенсивные операции чтения и записи на диске. Затем проверка, можно ли переместить действия на диск данных, а не на диск ОС.

Исчерпан ли порт преобразования исходных сетевых адресов?

Если приложения выполняют много исходящих подключений, они могут исчерпать количество доступных портов на IP-адресе исходящего устройства. Следуйте диагностика load balancer уровня "Стандартный" с метриками, оповещениями и работоспособностью ресурсов, чтобы отслеживать использование и выделение порта преобразования исходных сетевых адресов (SNAT) существующей подсистемы балансировки нагрузки. Мониторинг для проверки или определения риска нехватки портов SNAT.

Достигнуто или превышено максимальное число выделенных портов SNAT? В этом случае можно проверка приложение, чтобы определить, использует ли оно существующие подключения повторно. Дополнительные сведения см. в статье Проектирование приложений для эффективного использования подключений.

Если вы считаете, что приложение настроено правильно и требуется больше портов SNAT, чем количество выделенных портов по умолчанию, выполните следующие действия.

  1. Увеличьте количество общедоступных IP-адресов на устройстве исходящего трафика. Если устройство исходящего трафика является подсистемой балансировки нагрузки, можно увеличить количество общедоступных IP-адресов в подсистеме балансировки нагрузки.

  2. Увеличьте количество портов на каждый узел для рабочих узлов AKS.

Заявление об отказе от ответственности за контактные данные сторонней организации

Корпорация Майкрософт предоставляет сторонние контактные данные, чтобы помочь вам найти дополнительные сведения по этой теме. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не гарантирует точность контактной информации сторонних поставщиков.

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

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