第 3 章 通过网关直接出站流量
使用 Istio API,您可以配置使用网关注入安装的网关代理来直接为外部服务绑定的流量。
3.1. 关于通过网关直接出口流量 复制链接链接已复制到粘贴板!
您可以将通过网关注入安装的网关配置为离开服务网格的流量的退出点。它充当发送到网格外部服务的请求的转发代理。
- 出口网关
出口网关被配置为离开服务网格的流量的退出点,充当发送到外部服务的请求的转发代理。您可以配置出口网关来满足安全要求:
- 流量限制: 在具有严格的流量限制的环境中,出口网关通过一组专用的节点来确保所有出站流量流。
- Network Policy Enforcement :当网络策略阻止应用程序节点直接访问外部服务时,出口网关处理外部访问。
在这些情况下,网关代理部署到可以访问外部服务的专用出口节点上。然后,这些节点可以受到严格的网络策略强制或额外的监控以增强安全性。
- 配置出口流量
您可以通过网关注入配置安装网关,通过组合以下 Istio 资源来指示出口流量:
-
使用
ServiceEntry资源来定义外部服务的属性。外部服务添加到网格的 Istio 服务 registry 中,它可让您将 Istio 功能(如监控和路由规则)应用到流量退出目标为外部服务的网格。 -
使用网关、
VirtualService和DestinationRule资源设置使用网关代理从网格路由到外部服务的规则。
-
使用
- ambient 模式中的出口路由
如果您的部署使用 ambient 模式,则必须使用 Kubernetes 网关 API 配置出口路由,而不是 Istio
网关和VirtualService资源。Kubernetes Gateway API 提供了一个标准化的、Kubernetes 原生的方法,用于定义流量退出网格和到达外部服务的方式。您可以使用
Gateway和HTTPRoute(或GRPCRoute)资源来控制网格流量如何路由到集群外的目的地。Gateway API 在 ambient 模式中被完全支持,也可以用于基于 sidecar 的部署,为入口和出口路由提供一致的配置模型。