Kubernetes 微服务之间的通信

sem*_*ral 4 kubernetes kubernetes-helm

我们正在开发基于微服务的应用程序。它们将使用 Helm Package Manager 部署到 kubernetes,并且所有这些都存储自己的存储库和 helm 图表。以下是我们微服务的名称。

我的困惑是,在部署之前,我如何指定后端的 pod 需要与 UI、API 和 Auth 的 Pods 进行通信。应用程序可以知道与 UI/AUTH/其他内容建立连接,但是在微服务之间管理此操作的最佳方法是什么豆荚。

建筑学

  1. 后端
  2. 用户界面
  3. 应用程序编程接口
  4. 授权

Cos*_*iță 8

管理 Kubernetes 中微服务之间的通信的推荐方法是使用Services

基本上,您需要将每个微服务包装到集群 IP 服务中,然后您可以通过使用其唯一的 DNS 记录/环境变量/通过使用服务网格框架(如Linkerd)来访问它

每个微服务可以有一个 Helm Chart。该 helmchart 将包含与该微服务相关的所有内容的 yaml 文件:部署、配置映射、机密等,但也包含服务的 yaml 文件(最好为其提供单独的 yaml 文件)。

通过使用服务,后端服务可以轻松地与其他服务进行通信,因为所有服务的 IP 地址将被注入到后端容器的环境变量中,如下所示

因此,您只需更新后端应用程序以读取要连接的微服务的 IP(从环境变量),然后就可以连接到它。