Kubernets - подключайтесь к нескольким конечным точкам на одном NodePort - PullRequest
0 голосов
/ 04 августа 2020

Есть ли у меня способ настроить> 1 подов, каждый из которых прослушивает свой TargetPort, с одной службой для всех подов, которые обслуживаются на указанном NodePort (например, 30000), и подключиться к обеим конечным точкам подов на одном и том же NodePort?

Я тестирую docker -desktop с двумя модулями, обслуживающими данные. Я могу подключиться к первому модулю на localholdt: 30000 (NodePort в службе 30000), но когда я пытаюсь подключить второго клиента, он зависает. Я думал, что Служба автоматически подключит второго клиента к конечной точке второго модуля, но, похоже, это не так.

Моя служба describe:

Name:                     replica1-gsewz
Namespace:                default
Labels:                   app=cnpquery
                          app.group.com/partitionreplica=replica1
                          app.group.com/serviceMetatag=podselector1
Annotations:              <none>
Selector:                 app.group.com/serviceMetatag=podselector1
Type:                     NodePort
IP:                       10.98.212.171
LoadBalancer Ingress:     localhost
Port:                     http  5000/TCP
TargetPort:               5000/TCP
NodePort:                 http  30000/TCP
Endpoints:                10.1.0.92:5000,10.1.0.93:5000
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

Изменить :

Настройка выглядит следующим образом:

  • модули развертываются с серверным приложением на них. Серверное приложение прослушивает порт 5000 модуля.
  • Служба, afaik, перенаправляет все запросы на порт узла 30000 на порт модуля 5000
  • Я на docker рабочий стол, поэтому я использую прокси docker для подключения к порту 30000 на моем локальном компьютере, то есть по адресу http://localhost: 30000
  • На моем локальном компьютере у меня есть клиентский компьютер, который отправляет данные на порт 30000, и получает ответы от сервера модуля.
  • Эта настройка работает с одним модулем (т.е. я могу отправлять и получать сообщения на узле: 30000-5000: соединение порта
  • Но когда я вращаюсь подключите второй под и попробуйте подключиться к нему на localhost: 30000, он зависает

1 Ответ

0 голосов
/ 19 августа 2020

вы можете использовать входящий трафик для балансировки нагрузки и настроить свой путь в определении входящего трафика в разделе правил rf https://kubernetes.io/docs/concepts/services-networking/ingress/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...