Обмен данными из модуля в модуль для службы типа NodePort в kubernetes

#docker #kubernetes

#docker #kubernetes

Вопрос:

У меня есть приложение statfulset, которое имеет сервер, работающий на порту 1000, и имеет 3 реплики. Теперь я хочу предоставить приложение, которое я использовал type: NodePort . Но я также хочу, чтобы 2 реплики обменивались данными друг с другом через один и тот же порт. Когда я выполняю nslookup в случае приложения типа NodePort, оно выдает только одно dns-имя <svc_name>.<namespace>.svc.cluster.local (отдельные модули не получают dns), и приложение становится доступным.

Когда я это делаю, clusterIP: None я получаю DNS для конкретного узла <statfulset>.<svc_name>.<namespace>.svc.cluster.local , но приложение не предоставляется. Но оба они не работают вместе. Как я могу добиться обоих: предоставить один и тот же порт для обмена между репликами и предоставить один и тот же порт извне?

Комментарии:

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

2. Я хочу предоставить службу извне, а не clusterIP

3. тогда я всегда предлагаю сначала прочитать это

Ответ №1:

LoadBalancer: предоставляет службу извне с помощью балансировщика нагрузки облачного провайдера. Службы NodePort и ClusterIP, к которым будет перенаправляться внешний балансировщик нагрузки, создаются автоматически.