在 Istio 中使用服务实体进行 MESH_INTERNAL 通信

问题描述 投票:0回答:0

我有一个关于 Istio 中的 ServiceEntry 的问题。 正如我在指南中看到的那样,它说我们可以使用 workloadSelector 来选择 MESH_INTERNAL 的一个或多个 Kubernetes pod 以将流量引导到它们中。 这意味着我们可以在不使用 kubernetes 服务的情况下将流量直接路由到 kuberneted pod?

假设 meshservice1 想要调用 meshservice2.

下面是meshservice2 pods的标签

kind: Pod
  labels:
    app.name: meshservice2
  name: meshservice2

下面是它的服务入口

kind: ServiceEntry
metadata:
  labels:
    app.name: meshservice2
spec:
  hosts:
    - meshservice2.test
  location: MESH_INTERNAL
  ports:
    - name: http
      number: 80
      protocol: HTTP
  resolution: STATIC
  workloadSelector:
    labels:
      app.name: meshservice2

在没有为 memservice2 定义 kubernetes svc 的情况下,以上两个是否足以从 meshservice1 pod 成功调用 meshservice2.test?

我那样试过,它连接到其他服务,但我收到 503 响应代码。 当我为 meshservice2 添加 kubernetes svc 时,一切都按预期工作。

我只是想知道我是否可以安全地从我的应用程序中丢弃 kubernetes svc 以进行网格内部调用。

kubernetes istio
© www.soinside.com 2019 - 2024. All rights reserved.