0

我是 Open shift / OKD 的新手。我在开放班次上运行 Strimzi。

我已经部署了一个包含 Rest API 的应用程序。此应用程序具有 Rest Api,并且可以从 Rest Api 控制生产者和消费者。我已将我的应用程序的 POD 复制到 3。

为了更好地控制,我们希望亲自对每个 pod 副本进行触发查询。前任。我的应用程序的 pod-replica1kafka-testing启动 producer.pod-replica2 我的应用程序kafka-testing启动消费者,依此类推。

我们如何单独访问每个 pod-replica 来执行测试?我们不能使用相同的源创建多个应用程序。

如果有不清楚的地方,请告诉我。

多谢

4

2 回答 2

0

如果你有statefulset一个headless服务,那么你可以访问每个 pod$(podname).$(service name).$(namespace).svc

阅读更多关于stable network id 这里

于 2019-07-04T07:55:29.700 回答
0

如果您的应用程序也在 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-0my-cluster-kafka-0.<pod_namespace>.svc.cluster.local

如果您的应用程序在 OpenShift 外部运行,请配置 srimzi外部侦听器。在设置外部侦听NodePort器的三个选项中,如果您运行本地 OKD ,可能会更容易。

于 2019-03-12T01:58:57.983 回答