Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 如何为AKS和Helm设置ASP.NET核心Web和WebAPI容器之间的通信_Azure_Asp.net Core Mvc_Asp.net Core Webapi_Kubernetes Helm_Azure Aks - Fatal编程技术网

Azure 如何为AKS和Helm设置ASP.NET核心Web和WebAPI容器之间的通信

Azure 如何为AKS和Helm设置ASP.NET核心Web和WebAPI容器之间的通信,azure,asp.net-core-mvc,asp.net-core-webapi,kubernetes-helm,azure-aks,Azure,Asp.net Core Mvc,Asp.net Core Webapi,Kubernetes Helm,Azure Aks,我有两个项目,一个在一个容器中的ASP.NET核心MVC中,另一个在另一个容器中的ASP.NET核心WebAPI中,都使用Azure Kubernetes服务和Helm MVC项目调用WebAPI项目。它通过使用localhost在本地工作 我的问题是如何设置它,使其在AKS上工作并接受公共请求。您可以阅读这篇文章,它显示了Kubernetes中的网络,这些网络可以在同一个pod中的容器之间通信,也可以在同一个节点但不同的pod中通信,或者在不同的pod和不同的节点中通信。Kubernetes通

我有两个项目,一个在一个容器中的ASP.NET核心MVC中,另一个在另一个容器中的ASP.NET核心WebAPI中,都使用Azure Kubernetes服务和Helm

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

我的问题是如何设置它,使其在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只需使用来为您管理所有的事情。

您可以阅读这篇文章,其中显示了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
这意味着您只需要将所需的容器与其服务连接起来



掌舵人只需使用来为您管理所有事情。

此处缺少一些细节,无法为您提供准确的答案。这两个项目是如何安装在AKS上的?它们是在不同的舱中运行的吗?如果是这种情况,您将需要一个k8s服务对象,该对象将允许他们相互访问,并通过k8s dns而不是本地主机路由请求。谢谢您的评论。我只需要一个Hello World的例子来展示使用AKS的最佳实践。在本地使用“localhost”不是必须的。因为我是AKS和HELM的新手。我对最佳实践持开放态度。这不是AKS或Helm的问题,它与kubernetes在集群内路由通信的方式有关。您可以按照本指南了解更多关于kubernetes如何实现这些东西的信息-感谢链接。它让我想起了这个链接。如何将其与ASP.NET核心应用程序结合使用,该应用程序可以在本地和AKS上运行,如我的作品所述。此处缺少一些详细信息,以提供准确答案。这两个项目是如何安装在AKS上的?它们是在不同的舱中运行的吗?如果是这样,您需要一个k8s服务对象,该对象允许它们彼此访问,并通过k8s dns而不是本地主机路由请求。谢谢您的评论。我只需要一个Hello World的例子来展示使用AKS的最佳实践。在本地使用“localhost”不是必须的。因为我是AKS和HELM的新手。我对最佳实践持开放态度。这不是AKS或Helm的问题,它与kubernetes在集群内路由通信的方式有关。您可以按照本指南了解更多关于kubernetes如何实现这些东西的信息-感谢链接。它让我想起了这个链接。如何将其与ASP.NET核心应用程序一起使用,该应用程序可以在本地和AKS上运行,如我的作品中所述。感谢您的评论和链接,这些都很有帮助。但如果没有代码,我仍然无法将它们应用于ASP.NET核心应用程序。我可能需要用谷歌搜索一下。@Pingpong那你还搞不懂什么呢?我需要先仔细阅读一下。但首先,如何将这些应用于ASP.NET核心,从一个项目调用另一个项目,并在本地和AKS上运行它。其中一个问题是如何以及在何处为这两个项目定义URL。谢谢。我需要以编程方式连接到不同的容器,使用
curl安装http://backend-service
。但有趣的是,如果我没有误解的话,我可以登录到容器并尝试一下。但是如何登录到容器,我必须弄清楚。@Pingpong如果是Linux容器,您可以使用命令
kubectl exec-it podName-bash
。您还可以在代码内部进行连接,不仅仅是
curl
命令,这只是一个示例。感谢您的评论和链接,这些都很有帮助。但如果没有代码,我仍然无法将它们应用于ASP.NET核心应用程序。我可能需要用谷歌搜索一下。@Pingpong那你还搞不懂什么呢?我需要先仔细阅读一下。但首先,如何将这些应用于ASP.NET核心,从一个项目调用另一个项目,并在本地和AKS上运行它。其中一个问题是如何以及在何处为这两个项目定义URL。谢谢。我需要以编程方式连接到不同的容器,使用
curl安装http://backend-service
。但有趣的是,如果我没有误解的话,我可以登录到容器并尝试一下。但是如何登录到容器,我必须弄清楚。@Pingpong如果是Linux容器,您可以使用命令
kubectl exec-it podName-bash
。您还可以在代码内部连接,不仅仅是
curl
命令,这只是一个示例。