다음을 통해 공유


.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을 사용하거나 azd(Azure Developer CLI)를 사용하여 ACA에 Aspire 앱을 수동으로 배포하는 방법에 대해 설명합니다.

.NET Aspire의 원격 분석에 Application Insights을 사용하십시오

.NET Aspire 프로젝트는 공급자 모델인 OpenTelemetry을 사용하여 원격 분석 데이터를 전송하도록 설계되었습니다. .NET Aspire 프로젝트는 Azure Monitor 원격 분석 배포를 사용하여 원격 분석을 Azure Monitor 또는 Application Insights로 전송할 수 있습니다. 자세한 정보는 을(를) 참조하세요. .NET Aspire 원격 분석을 위해 Application Insights을(를) 사용하고, 단계별 지침은에 따르세요.

Kubernetes 배포

Kubernetes .NET Aspire 프로젝트를 실행할 수 있는 인기 있는 컨테이너 오케스트레이션 플랫폼입니다. Kubernetes 클러스터에 .NET Aspire 프로젝트를 배포하려면 .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에 배포합니다.