在 Istio 中,Gateway 规则的负载实际上是由 Envoy 代理处理的。Istio 的 Gateway 是基于 Envoy 构建的,它允许我们将外部流量引入网格,并将其路由到正确的服务。
当外部请求进入网格时,Istio 的 Gateway 会拦截这些请求并将其转发到相应的 Envoy 代理进行处理。每个 Envoy 代理都运行在一个 Kubernetes Pod 中,并与其他代理协同工作以提供完整的服务网格功能。
当 Gateway 接收到一个请求时,它会根据定义在 VirtualService 和 DestinationRule 中的规则来确定要将请求路由到哪个服务和实例。一旦确定了目标服务和实例,Gateway 就会将请求转发给相应的 Envoy 代理进行处理。
Envoy 代理接收到请求后会执行一系列操作,包括负载均衡、故障注入、安全认证等。最终,Envoy 将响应返回给 Gateway,在经过一系列处理后将响应发送回客户端。
因此,Istio 中执行 Gateway 规则的负载实际上是由多个 Envoy 代理共同承担的,每个 Envoy 都负责处理一部分流量,并执行相应的路由和策略规则。