【发布时间】:2020-12-27 15:26:51
【问题描述】:
我无法理解入口和出口 istio 网关控制的流量。
- 例如,应用程序在 MQ 队列上设置侦听器。这是入口或出口流量的示例吗? 我认为应用程序在哪里启动连接,然后这个流量将被定向到出口网关。相反,如果应用程序是端点,则流量必须通过入口网关路由。
- 假设应用程序 A 是应用程序 B 的外部服务。应用程序 A 向 B 发出休息请求。此请求是否应该通过入口路由? 现在应用 B 向 A 发出休息请求。流量现在应该通过出口吗?
【问题讨论】:
-
这完全取决于 TCP 连接是如何建立的。如果应用程序 A 发起到 B 的连接,它将通过出口路由,假设虚拟服务/网关/目标规则已配置为这样。反之亦然 B -> A 将通过入口资源进入您的 Sidecar 并被代理。我相信默认行为,假设 Envoy 在您的 pod 上启用。流量将被引导出 Egress 并通过 Ingress 进入。
-
确定:1)应用程序A部署在openshift中,应用程序B在openshift集群之外工作。因此,如果应用 A 向 B 发起连接(例如,向 'serverB/test' 发送 post 请求),则该请求必须通过入口网关进行路由。 2)应用程序A通过出口网关连接到外部数据库服务器(不在openshift集群中)?
-
@Jakub 等等,“启动连接”是什么意思?如果我们运行命令
[appA]: curl appB,是否意味着 appA 启动了与 appB 的连接?我问是因为如果您按照下面的答案进行操作,事实证明我在评论中的第一个示例是错误的。或者我没有正确理解“启动连接”(在我的评论 appA 里面的服务网格和 appB 是外部服务) -
@pwflamy 抱歉,我误解了第二个问题,虽然 appA 是外部的,而 appB 是在网格内部。正如下面在我的示例中提到的,appA 是网格之外的外部服务,而 appB 是 istio 网格中的注入服务。
标签: kubernetes openshift istio