本文主要讨论Istio Ingress Gateway入口方案,网关选型为Istio Ingress Gateway(Envoy网关的一种),部署方式为中心化网关进行部署,在腾讯云落地方式目前主要考虑两种方式:
CLB复用
架构图:

优点:
- 对现有入口调整改动小,可以复用CLB,落地周期短
- 可通过CLB规则控制灰度流量到URL粒度
缺点:
- 需维护CLB和Service NodePort的手动绑定关系,多一层的DNAT开销
- 长远来看随着流量的增大超过单CLB入口流量仍需采用GTM方案
iGTM
- 构架图:

- 优点:
- 对现有入口调整改动大,借助DNS负载均衡,实现多CLB共存,长远来看增强入口的扩展性和可用性
- 结合HttpDNS可实现入口流量秒级容灾,如果无需秒级可以不用开启(作为纯入口方案也可以不引入)
- 借助腾讯云的网关管理控制器可实现CLB与Istio Ingress Gateway的自动绑定关系,方便维护
- 缺点:
- 依赖于iGTM和Mesh的SSL证书上浮等产品的稳定性,落地周期长
- HttpDNS秒级容灾会产生费用开销,费用成本上升(作为纯入口方案也可以不引入)
另附Envoy Gateway与传统的SpringCloud Gateway对比:
- 优点:
- Envoy Gateway相对于Java异步网关更能贴合K8s,与k8s的资源对象结合更紧密
- Envoy Gateway在大流量、扩展性、可配置性方面强于Java异步网关
- Envoy Gateway是面向未来的网关选型,相信社区会逐步增强和标准化Envoy网关产品以适应更广泛的应用场景
- 缺点
- Envoy Gateway在领域认知度和技术栈熟悉方面方面逊于Java异步网关
- 基于Envoy Gateway定制化扩展的框架较少,定制化难度目前相对较高