Как разрешить двум модулям, работающим в одном и том же / другом пространстве имен, взаимодействовать независимо от протокола, использующего имя_службы? - PullRequest
0 голосов
/ 19 сентября 2019

Разрешить двум модулям (скажем, модуля A и B), работающим в одном и том же / другом пространстве имен, обмениваться данными независимо от протокола (например, http, https, akka.tcp) вместе с действующей сетевой политикой.

Решения опробованы:

  1. Попытка применения политики сети к обоим модулям, а также использование имени службы: «my-svc.my-namespace.svc.cluster.local », чтобы заставить модуль B взаимодействовать с модулем A, который выполняет службу« my-svc », но оба не смогли установить связь.

  2. Также попытался добавить IP-адрес и сопоставление хостамодуля A в модуле B во время его развертывания, тогда модуль B смог связаться с модулем A, но обратное взаимодействие не удалось.

Пожалуйста, предложите мне способ исправить это.

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

По умолчанию модули могут связываться друг с другом по своему IP-адресу независимо от пространства имен, в котором они находятся.

IP-адрес каждого модуля можно просмотреть с помощью:

kubectl get pods -o wide --all-namespaces

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

Служба также имеет IP-адрес и, кроме того, DNS-имя.Служба поддерживается набором пакетов.Сервис перенаправляет запросы к одному из модулей поддержки.

Полное DNS-имя Сервиса:

<service-name>.<service-namespace>.svc.cluster.local

. Это можно разрешить по IP-адресу Сервиса изв любом месте кластера (независимо от пространства имен).

Например, если у вас есть:

  • Пространство имен ns-a: Служба svc-a → набор модулей A
  • Пространство имен ns-b: Служба svc-b → набор контейнеров B

Тогда пакет набора A может достичь пакета набора B, сделав запрос:

svc-b.ns-b.svc.cluster.local
1 голос
/ 19 сентября 2019

Вы можете поставить блоки за Сервисами и использовать Сервис DNS для связи.Звонки на service-name позволяют стручкам в одном и том же пространстве имен общаться.Звонки на service-name.namespace позволяют стручкам в разных пространствах имен общаться.

...