Позвольте мне попытаться объяснить это как можно лучше:
- Использование только 1 узла (кластеризация с одним узлом)
- 3 модуля (модуль A, модуль B, модуль *) 1024 *) того же приложения в этом узле. Это приложение производителя, которое не является приложением покоя. Они java приложение. Приложение в этих модулях откроет порт прослушивателя TCP 8888. Таким образом, для каждого модуля A, Pod B, Pod C порт 8888 открыт для прослушивания. Все эти модули помечены как AB C.
- Создан сервис NodePort NP1:
Порт: 2222
NodePort: 3333
TargetPort: 8888 -> это нацелено на вышеупомянутого слушателя Pods
:
селектор:
метки: AB C - Другое приложение (APP1) подключается к службе NP1 (TCP), подключается к NodePort 3333 и отправляет полезную нагрузку этим 3 модулям.
- Поступает полезная нагрузка, но она поступает только на модуль A. Он не распространяется на другие 2 модуля.
- Я понимаю, что таблицы IP используются для распределения трафика c. Я заметил, что когда протокол HTTP, тогда полезная нагрузка распределяется на все 3 модуля. Но когда это TCP, он все время распространяется только на 1 Pod.
Любая помощь или понимание было бы здорово.