kubernetes - 微服务 API 网关和 Identity Server 4 kubernates
问题描述
我有微服务和 SPA 应用程序。它们都使用 docker compose 在 docker 上运行。我有 ocelot api 网关。但是网关知道微服务的 IP 地址或容器名称,以便访问。我在 ocelot 应用程序中添加了一个聚合器服务。我可以使用 ips 从聚合器服务访问所有服务。
但我想移动 kubernates。我可以扩展服务。没有静态ip。我该如何配置 .
我有身份服务。此服务知道客户端 IP 地址。又是同样的问题。
我搜索了几个小时。我找到了一些关键词。特使、入口、领事、豹猫。有人可以解释这些事情吗?
解决方案
听起来您的问题与Service Discovery相关。
在 Kubernetes 中,实现“API 网关”的原生方式是使用Ingress 资源和Ingress Controller。如果您使用云提供商,他们通常会为此提供产品,或者您可以使用在集群中部署的自定义产品。
Kubernetes 的服务发现方式是通过引用服务资源,例如入口资源将 URL(在您的公共 API 中)映射到服务。并且您的应用程序被部署为部署资源,并且所有副本(实例)都通过服务资源公开。一个应用程序也可以向其他应用程序发送请求,它应该将该请求发送给其他应用程序的服务资源。Service 资源对接收应用程序的副本进行负载平衡。
推荐阅读
- sql - 优化 CTE 查询
- java - Java ESC/POS 图像全幅打印
- python - 如何在 pandas DataFrame 的给定位置插入几行?
- android - com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable
- javascript - 如何将我的代码从回调函数更改为承诺
- java - 如何解决执行 com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable 时发生故障
- ios - 谷歌广告多次通话委托
- python - 有没有办法在对第三列中的值求和之前按两列分组?
- kubernetes - Prometheus 无法抓取 kong-ingress-controller 指标
- php - 热解决这个错误?无法连接到mysql服务器