Узлы виртуальных машин Azure K8s - могут проверить связь с рабочим узлом с главного узла, но не могут проверить связь с модулем на рабочем узле

У меня есть простой модуль, работающий на моем рабочем узле, который я пытаюсь пропинговать с моего главного узла. Я получаю 100% потерю пакетов.

Что работает?

  • На сам рабочий узел можно отправить эхо-запрос с главного узла.
  • Модуль внутри рабочего узла может быть опрошен изнутри рабочего узла.

Что не работает?

  • Главный узел пытается проверить связь с модулем рабочего узла.

Мое мнение

Я думаю, что на главном узле произошла неправильная конфигурация ситца, поскольку главный узел не совсем понимает IP-адрес модуля.

Результаты трассировки IP-адреса модуля

masternode@Master:~$ tracepath 192.168.171.67
 1?: [LOCALHOST]                      pmtu 1440
 1:  no reply
 2:  no reply
 3:  no reply

Пожалуйста помоги.


person Aakash Verma    schedule 15.07.2020    source источник
comment
Не могли бы вы предоставить более подробную информацию и минимальный воспроизводимый пример? Как вы загрузили свой кластер? АКС, Кубеадм? Какая операционная система работает на этих виртуальных машинах? Вы упомянули, что раньше это работало, и что вы подозреваете ситцевую ткань. Вносили ли какие-либо изменения в его конфигурацию?   -  person acid_fuji    schedule 16.07.2020


Ответы (1)


Сеть модулей Kubernetes недоступна из узлов плоскости управления / данных. Вы можете связаться с любым модулем, включая модули уровня управления между собой, но не с чем-либо на хосте.

Цитированные основы сети Kubernetes из docs:

  • Модули на узле могут связываться со всеми модулями на всех узлах без NAT.
  • Агенты на узле (например, системные демоны, кубелет) могут связываться со всеми модулями на этом узле. - Обратите внимание, что вы можете сделать это, например, с помощью докера, но не используя сеть подов.

Кроме того, из документации:

  • Контейнеры внутри модуля используют сеть для связи через петлю.
  • Кластерная сеть обеспечивает связь между разными модулями.
  • Ресурс Service позволяет сделать приложение, работающее в модулях, доступным извне вашего кластера.
  • Вы также можете использовать Services для публикации сервисов только для потребления внутри вашего кластера.
person Rico    schedule 16.07.2020
comment
Сеть модулей Kubernetes недоступна из узлов плоскости управления / данных. Прошу прощения, но мне довелось раньше пинговать / скручивать свои поды на рабочих узлах с главных узлов. Как это происходило? - person Aakash Verma; 16.07.2020
comment
Вы можете сделать это из модуля в главном узле. Но не от хозяина. - person Rico; 16.07.2020
comment
Это то, чего мне не хватало! Большая дыра в моей концепции, я думал, что узлы уровня управления могут получить доступ к модулям на рабочих узлах. Большое спасибо. - person Aakash Verma; 16.07.2020
comment
И последний вопрос: у меня нетронутые и главный, и рабочий узел, поэтому, когда я пытаюсь развернуть модуль, стоящий на главном узле, планировщик куба помещает его на рабочий узел. Могу я спросить, почему? Главный узел имеет больше памяти и вычислительных ресурсов, чем рабочий узел. - person Aakash Verma; 16.07.2020
comment
Я думаю, что он сначала выбирает рабочие узлы, если вы не настроите nodeSelector (привязка узла) для перехода к мастеру. Возможно, ваши рабочие имеют больший процент ресурсов во время планирования модуля. - person Rico; 16.07.2020