Трафик между пулами узлов блокируется настраиваемой группой безопасности сети
В этой статье описывается, как устранить сценарий, в котором настраиваемая группа безопасности сети (NSG) блокирует трафик между пулами узлов в кластере Microsoft Служба Azure Kubernetes (AKS).
Симптомы
Разрешение системы доменных имен (DNS) из модулей pod пула узлов пользователей завершается сбоем.
Общие сведения
В сценариях с несколькими пулами узлов модули pod в kube-system
пространстве имен можно поместить в один пул узлов (пул системных узлов), а модули pod приложения помещаются в другой пул узлов (пул узлов пользователя). В некоторых сценариях модули pod, взаимодействующие друг с другом, могут находиться в разных пулах узлов.
AKS позволяет клиентам иметь пулы узлов в разных подсетях. Эта функция означает, что клиенты также могут связать разные группы безопасности сети с подсетью каждого пула узлов.
Причина 1. Группа безопасности сети пула узлов блокирует входящий трафик
Входящий доступ к группе безопасности сети пула узлов блокирует трафик. Например, пользовательская группа безопасности сети в пуле системных узлов (которая размещает основные модули pod DNS) блокирует входящий трафик через порт UDP (UDP) из подсети пула узлов пользователей.
Решение 1. Настройка настраиваемой группы безопасности сети для разрешения трафика между пулами узлов
Убедитесь, что пользовательская группа безопасности сети разрешает необходимый трафик между пулами узлов, в частности через порт UDP 53. AKS не обновляет настраиваемую группу безопасности сети, связанную с подсетями.
Причина 2. Исходящий доступ к группе безопасности сети пула узлов блокирует трафик
Группа безопасности сети в другом пуле узлов блокирует исходящий доступ к pod. Например, пользовательская группа безопасности сети в пуле узлов пользователей блокирует исходящий трафик через порт UDP 53 в пул системных узлов.
Решение 2. Настройка настраиваемой группы безопасности сети для разрешения трафика между пулами узлов
См . решение 1. Настройка настраиваемой группы безопасности сети для разрешения трафика между пулами узлов.
Причина 3. Tcp-порт 10250 заблокирован
Другой распространенный сценарий заключается в том, что порт TCP 10250 блокируется между пулами узлов.
В этом случае пользователь может получить сообщение об ошибке, похожее на следующий текст:
$ kubectl logs nginx-57cdfd6dd9-xb7hk
Error from server: Get https://<node>:10250/containerLogs/default/nginx-57cdfd6dd9-xb7hk/nginx: net/http: TLS handshake timeout
Если подключение через TCP-порт 10250 заблокировано, подключение к Kubelet будет затронуто, а журналы не будут извлекать.
Решение 3. Проверка правил NSG, которые блокируют TCP-порт 10250
Проверьте, блокируют ли правила NSG связь между узлами в TCP-порту 10250.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.