小编Rob*_*man的帖子

Istio (1.0) 内部 ReplicaSet 路由 - 支持 Kubernetes 部署中 Pod 之间的流量

Istio 如何支持同一服务中的 Pod 之间基于 IP 的路由(或者更具体地说是 ReplicaSet)?

我们想在 Istio 网格中部署一个副本 > 1 的 Tomcat 应用程序。该应用程序运行 Infinispan,它使用 JGroups 来整理通信和集群。JGroups 需要识别其集群成员,为此需要使用 KUBE_PING(JGroups 的 Kubernetes 发现协议)。它将通过类似于kubectl get pods的查找来咨询 K8S API 。集群成员既可以是其他服务中的 pod,也可以是同一服务/部署中的 pod。

尽管我们的问题是由相当具体的需求驱动的,但该主题是通用的。我们如何让 pod 能够在副本集内相互通信?

示例:作为展示,我们部署了演示应用程序https://github.com/jgroups-extras/jgroups-kubernetes。相关的东西是:

apiVersion: v1
items:
- apiVersion: extensions/v1beta1
  kind: Deployment
  metadata:
    name: ispn-perf-test
    namespace: my-non-istio-namespace
  spec:
    replicas: 3
< -- edited for brevity -- >
Run Code Online (Sandbox Code Playgroud)

没有 Istio情况下运行,三个 Pod 会相互找到并形成集群。在my-istio-namespace 中使用 Istio部署相同的内容并添加基本服务定义:

kind: Service
apiVersion: v1 …
Run Code Online (Sandbox Code Playgroud)

jgroups infinispan kubernetes istio envoyproxy

5
推荐指数
1
解决办法
452
查看次数

标签 统计

envoyproxy ×1

infinispan ×1

istio ×1

jgroups ×1

kubernetes ×1