.NET .NET Aspire 部署
.NET Aspire 项目是使用与云无关的原则构建的,允许跨支持 .NET 和容器的各种平台实现部署灵活性。 用户可以根据提供的指导在其他云环境或本地托管上进行部署。 手动部署过程虽然可行,但涉及容易出错的详尽步骤。 用户更喜欢利用 CI/CD 管道和云环境特定工具,以便获得更简化的部署体验,根据所选基础设施进行定制。
部署清单
若要使来自Microsoft和其他云提供商的部署工具能够了解 .NET.NET Aspire 项目的结构,可以执行 AppHost 项目 的专用目标,以生成描述应用使用的项目/服务的清单文件以及部署所需的属性,例如环境变量。
有关清单架构以及如何运行应用主机项目目标的详细信息,请参阅部署工具生成器
部署到 Azure
.NET Aspire 使能够将部署到 Azure Container Apps。 .NET .NET Aspire 可以部署到的环境数量会随着时间推移而增长。
Azure Container Apps
.NET .NET Aspire 项目设计为在容器化环境中运行。 Azure Container Apps 是一个完全托管的环境,可用于在无服务器平台上运行微服务和容器化应用程序。 Azure Container Apps 主题介绍如何使用 bicep 或使用 Azure Developer CLI(azd)手动将 Aspire 应用部署到 ACA。
使用 Application Insights 进行 .NET Aspire 遥测
.NET Aspire 项目旨在使用提供程序模型的 OpenTelemetry 发出遥测数据。 .NET Aspire 项目可以使用 Azure Monitor 遥测分发工具将其遥测数据定向到 Azure Monitor 或 Application Insights。 有关详细信息,请参阅 ,使用 Application Insights 进行 .NET Aspire 遥测。查看 以获取分步说明。
部署到 Kubernetes
Kubernetes 是一个可运行 .NET Aspire 项目的常用容器业务流程平台。 若要将 .NET Aspire 项目部署到 Kubernetes 群集,需要将 .NET AspireJSON 清单映射到 Kubernetes YAML 清单文件。 有两种方法可以执行此操作:使用 Aspir8 项目或手动创建 Kubernetes 清单。
Aspir8 项目
Aspir8(一个开源项目)负责根据 .NET.NET Aspire 的应用主机清单生成部署 YAML。 该项目输出可用于执行一系列任务的 .NET 全局工具,从而生成 Kubernetes 清单:
-
aspirate init
:初始化当前目录中的 Aspir8 项目。 -
aspirate generate
:基于 .NET Aspire 应用主机清单生成 Kubernetes 清单。 -
aspirate apply
:将生成的 Kubernetes 清单应用于 Kubernetes 群集。 -
aspirate destroy
:删除apply
命令创建的资源。
使用这些命令,可以生成应用、容器化应用并将其部署到 Kubernetes 群集。 有关详细信息,请参阅 Aspir8。
手动创建 Kubernetes 清单
或者,可以手动创建 Kubernetes 清单。 这涉及到更多的工作量,并且更耗时。 有关详细信息,请参阅 将 .NET 微服务部署到 Kubernetes。