首页 > 解决方案 > 微服务 API 网关和 Identity Server 4 kubernates

问题描述

我有微服务和 SPA 应用程序。它们都使用 docker compose 在 docker 上运行。我有 ocelot api 网关。但是网关知道微服务的 IP 地址或容器名称,以便访问。我在 ocelot 应用程序中添加了一个聚合器服务。我可以使用 ips 从聚合器服务访问所有服务。

但我想移动 kubernates。我可以扩展服务。没有静态ip。我该如何配置 .

我有身份服务。此服务知道客户端 IP 地址。又是同样的问题。

我搜索了几个小时。我找到了一些关键词。特使、入口、领事、豹猫。有人可以解释这些事情吗?

标签: kubernetesmicroservicesconsulenvoyproxyocelot

解决方案


听起来您的问题与Service Discovery相关。

在 Kubernetes 中,实现“API 网关”的原生方式是使用Ingress 资源Ingress Controller。如果您使用云提供商,他们通常会为此提供产品,或者您可以使用在集群中部署的自定义产品。

Kubernetes 的服务发现方式是通过引用服务资源,例如入口资源将 URL(在您的公共 API 中)映射到服务。并且您的应用程序被部署为部署资源,并且所有副本(实例)都通过服务资源公开。一个应用程序也可以向其他应用程序发送请求,它应该将该请求发送给其他应用程序的服务资源。Service 资源对接收应用程序的副本进行负载平衡。


推荐阅读