【问题标题】:Ocelot API Gateway implementation in AKSAKS 中的 Ocelot API 网关实现
【发布时间】:2021-02-25 22:18:42
【问题描述】:

我正在创建 AKS 集群,我想使用 API 网关 (Ocelot) 来路由,并对网关后面的容器(微服务)的请求进行身份验证。我的问题是如何实现这一目标?我知道我必须在节点内部署 ocelot API 网关,但我不知道如何配置所有流量以通过 API 网关。找不到可以帮助我的示例或方向。我需要采取哪些步骤?或者是否有更好的方法来完成所需的场景?

【问题讨论】:

标签: azure api-gateway azure-aks ocelot


【解决方案1】:

如果您使用 Ocelot 作为 API 网关,您必须创建一个 .NET 项目,其中包含您要使用的路由的配置文件。然后,您可以在集群中使用 Deployment 以及运行 API 的容器来部署它,并在 API 网关前面使用 ClusterIP 服务。此时,您应该在内部测试调用是否从 ClusterIP 正确路由到 API Gateway 和您的 API。然后,您可以使用负载均衡器服务、入口控制器或 Azure 应用程序网关在 Internet 上公开您的 API 网关。

另一种方法是完全不使用 Ocelot API 网关,而是使用 Ingress 控制器并直接在其中配置路由。

【讨论】:

  • 感谢您的帮助,我已经准备好了 Ocelot 应用程序,只是不知道如何在 Kubernetes 集群中实现它。默认情况下,所有 pod 都可以从 Internet 访问,对吧?所以我只想公开 Ocelot API Gateway。为此,我需要使用网络策略 Calico 或 Azure,我做对了吗? (或将整个集群设为私有 - 但从网络方面来看这看起来太复杂了)
  • "默认情况下,所有 pod 都可以从 Internet 访问,对吗?"不,恰恰相反。
  • 你确定吗?默认情况下,pod 是非隔离的;他们接受来自任何来源的流量/kubernetes.io/docs/concepts/services-networking/…
  • K8s 网络是一个扁平网络,所以是的,在内部,默认情况下所有 pod 都可以互相看到。
猜你喜欢
  • 2020-10-20
  • 2019-09-30
  • 2021-12-11
  • 2018-12-29
  • 2019-04-24
  • 1970-01-01
  • 2021-05-09
  • 2020-12-16
  • 2022-01-18
相关资源
最近更新 更多