【问题标题】:Use an existing microservice architecture with kubernetes将现有的微服务架构与 Kubernetes 结合使用
【发布时间】:2021-12-09 09:07:18
【问题描述】:

我有一个使用 Netflix Eureka 和 zuul 服务的现有微服务架构,

我已经部署了一个在发现服务器上成功注册的 pod,但是当我点击 API 时它给出了超时,我能想到的是,在发现服务器上注册时,容器 IP 被给出,因为它不是可访问。

有没有办法映射正确的地址或将调用重定向到正确的 URL 寻找一种简单的方法,因为这需要在多个服务上完成

【问题讨论】:

  • 您是如何设置集群的,您在其中做了什么?请提供复制步骤。问题到底出在哪里,您尝试了什么?

标签: kubernetes microservices netflix-eureka netflix-zuul


【解决方案1】:

我认为您应该以 Kubernetes 的方式重新思考您的设计!您的 Eureka(服务发现)、Zuul 服务器(API 网关/负载均衡器)是您在 Kubernetes 平台中真正不需要的额外服务。

对于服务发现和负载平衡,您可以在 Kubernetes 中使用服务。 来自 Kubernetes 文档:

一种将运行在一组 Pod 上的应用程序公开为 网络服务。使用 Kubernetes,您无需修改​​您的 应用程序使用不熟悉的服务发现机制。 Kubernetes 为 Pod 提供了自己的 IP 地址和一组 Pod 的单个 DNS 名称,并且可以在它们之间进行负载平衡。

对于 API 网关,您可以考虑 Kubernetes 中的 Ingress。 Kubernetes 的 Ingress Controller 有不同的实现。我正在使用 Ambassador API 网关实现。

https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/

【讨论】:

  • 感谢您的帮助,我偶然发现了一篇文章,其中介绍了可能的方法magalix.com/blog/…,因为我们已经有一个现有的架构,使用 Ingress 将服务缓慢迁移到 Kubernetes 将是最好的方法吗?然后当所有服务都被移动时,删除额外的发现和 API 网关
猜你喜欢
  • 2019-03-23
  • 2020-06-21
  • 1970-01-01
  • 2021-06-20
  • 1970-01-01
  • 2018-12-09
  • 2017-12-06
  • 2017-12-26
  • 1970-01-01
相关资源
最近更新 更多