如何在Kubernetes中选择API网关?

时间:2019-04-07 03:24:50

标签: kubernetes netflix-zuul istio api-gateway

在微服务领域,我们已经使用Zuul作为API网关已有一段时间了,最​​近我们决定迁移到Kubernetes,并选择一种更加云原生的方式。

在进行了调查并浏览了Istio文档之后,我们对Kubernetes中的API网关选择存在一些疑问:

  • 在Kubernetes中选择API网关时应考虑哪些方面?
  • 如果使用Istio,我们还需要Zuul吗?

2 个答案:

答案 0 :(得分:1)

我假设Zuul提供了许多功能,作为流量管理,路由和安全功能的边缘服务。根据微服务架构模式Design,它必须声明API网关是外部客户端访问微服务的要点。但是,Zuul需要以某种方式发现底层微服务,对于Kubernetes,您可能需要改编Kubernetes Discovery Client,后者定义了API Gateway如何检测路由并将网络流量传输到嵌套服务的规则。

根据设计,Istio代表服务网格architecture,并成为平滑集成的面向Kubernetes的解决方案。这里的主要概念是通过将边车注入Kubernetes Pods中来使用Envoy代理的高级版本,而无需更改或重写现有部署,也无需使用任何其他方法来进行服务发现。 Zuul API网关可以完全由Istio Gateway资源代替,作为入口或出口HTTP(S)/ TCP连接的边缘负载平衡器。 Istio包含一组traffic management功能,可以包含在常规配置中。

您可能对Istio功能设施的其他基本概念感兴趣,例如:

答案 1 :(得分:0)

我们使用Kong Gateway。这是非常简单的基于nginx的网关。易于安装,随时可用。