OpenShift / OKD为每个Pod副本指定URL

时间:2019-03-11 13:47:22

标签: kubernetes openshift openshift-origin okd strimzi

我是空缺/ OKD的新手。 我在空位上运行Strimzi。

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

为了更好地控制,我们希望亲自对每个Pod副本进行启动查询。例如我的应用程序kafka-testing的pod-replica1启动生产者。我的应用程序kafka-testing的pod-replica2启动使用者,依此类推。

我们如何才能分别访问每个Pod副本以执行测试?我们不能使用相同的源创建多个应用程序。

让我知道是否不清楚。

非常感谢

2 个答案:

答案 0 :(得分: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-0my-cluster-kafka-0来访问my-cluster-kafka-0.<pod_namespace>.svc.cluster.local

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

答案 1 :(得分:0)

如果您的statefulset服务具有headless,则可以使用$(podname).$(service name).$(namespace).svc来访问每个吊舱

详细了解stable network id here