OpenShift / OKD Укажите URL для каждой реплики Pod

Я новичок в Открытой смене / ОКД. Я бегу Стримзи на вершине открытой смены.

Я развернул приложение, которое включает в себя Rest API. Это приложение имеет Rest Api, и можно контролировать производителя и потребителя от остальных Api. Я скопировал POD моего приложения до 3.

Чтобы иметь лучший контроль, мы хотим, чтобы запрос на пожарную реплику выполнялся лично для каждой реплики. ех. pod-replica1 моего приложения kafka-testing для того, чтобы начать продюсера.pod-replica2 моего приложения kafka-testing чтобы начать потребитель и так далее.

Как мы можем получить доступ к каждой под-реплике индивидуально, чтобы выполнить тест? Мы не можем создать несколько приложений с одним и тем же источником.

дайте мне знать, если что-то не понятно.

Большое спасибо

1 ответ

Если у тебя есть statefulset с headless сервис, то вы можете получить доступ к каждому модулю с $(podname).$(service name).$(namespace).svc

узнать больше о stable network id Вот

Если ваше приложение также работает в OpenShift, запустите oc get svc найти имена каждого брокера. Обратите внимание, что эти имена доступны только внутри кластера OpenShift.

Например, если oc get svc возвращает:

> oc get svc
NAME                                  TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
my-cluster-kafka-0                    ClusterIP   172.30.210.241   <none>        9094/TCP                     109d
my-cluster-kafka-1                    ClusterIP   172.30.39.25     <none>        9094/TCP                     109d
my-cluster-kafka-2                    ClusterIP   172.30.93.193    <none>        9094/TCP                     109d

, вы можете получить доступ kafka-0 от my-cluster-kafka-0 или же my-cluster-kafka-0.<pod_namespace>.svc.cluster.local

Если ваше приложение работает за пределами OpenShift, настройте внешние прослушиватели стримзи. Среди трех вариантов настройки внешних слушателей: NodePort может быть проще, если вы запускаете локальный OKD.

Другие вопросы по тегам