OpenShift / OKD Укажите URL для каждой реплики Pod - PullRequest
0 голосов
/ 11 марта 2019

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

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

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

Подробнее о stable network id здесь

0 голосов
/ 12 марта 2019

Если ваше приложение также работает в 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, настройте strimzi external listeners . Среди трех вариантов настройки внешние прослушиватели , NodePort может быть проще, если вы запускаете локальный OKD.

...