我有一个关于 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 以进行网格内部调用。