首页 > 解决方案 > 如何为 AKS 和 Helm 设置 ASP.NET CORE Web 和 WebAPI 容器之间的通信

问题描述

我有两个项目,一个在一个容器中的 ASP.NET Core MVC 中,另一个在一个单独的容器中的 ASP.NET Core WebAPI 中,两者都使用 Azure Kubernetes Service 和 Helm。

MVC 项目调用 WebAPI 项目。它通过使用在本地工作localhost

我的问题是如何设置它以使其在 AKS 上运行并接受公共请求。

标签: azureasp.net-core-mvcasp.net-core-webapikubernetes-helmazure-aks

解决方案


你可以阅读这篇文档,它向你展示了 Kubernetes 中的网络,这些网络在同一个 pod 中的容器之间进行通信,或者在同一个节点但不同的 pod 中,或者在不同的 pod 和不同的节点中。并且 Kubernetes 通常使用每个部署的服务在 pod 之间进行通信。

很容易实现。您只需为您的应用程序创建两个映像并使用这些映像来创建部署。确保每个部署的服务是什么。在您的代码中,当您要连接到部署的另一个 pod 时,可以直接将其与部署的服务连接。

在这里,我向您展示一个简单的计划:

deployment: frontend -> ASP.NET Core MVC, service: frontend-service
deployment: backend -> ASP.NET Core WebAPI, service: backend-service

在前端容器内,你可以像这样连接后端容器,我只是用shell命令来做例子:

curl http://backend-service

这意味着您只需要将您期望的容器与其服务连接起来。

Helm 只需使用图表为您管理所有事情。


推荐阅读