다음을 통해 공유


AKS(Azure Kubernetes Service) 및 Arc 지원 Kubernetes용 Dapr 확장

Dapr(분산 애플리케이션 런타임)은 간단하고 이식 가능하며 복원력이 뛰어나며 보안이 유지되는 마이크로 서비스를 작성하고 구현하는 데 도움이 되는 API를 제공합니다. Dapr API는 애플리케이션과 함께 사이드카 프로세스로 실행되며 다음과 같이 분산 애플리케이션을 빌드할 때 발생할 수 있는 일반적인 복잡성을 추상화합니다.

  • 서비스 검색
  • 메시지 브로커 통합
  • 암호화
  • 가시성
  • 비밀 관리

Dapr은 점진적으로 채택할 수 있습니다. 필요에 따라 API 빌딩 블록을 사용할 수 있습니다. 각 Dapr API 및 구성 요소에 대해 Microsoft가 제공하는 지원 수준을 알아봅니다.

기능 및 특징

Dapr 확장을 사용하여 AKS 또는 Arc 지원 Kubernetes 클러스터에서 Dapr을 프로비전하면 다음 오버헤드가 제거됩니다.

  • Dapr 도구 다운로드
  • AKS 클러스터에서 Dapr 런타임 수동 설치 및 관리

Azure CLI 또는 Bicep 템플릿을 사용하여 클러스터에 Dapr 확장을 설치, 배포 및 구성할 수 있습니다.

또한 확장은 간단한 명령줄 인수를 통해 모든 네이티브 Dapr 구성 기능을 지원합니다.

Dapr은 AKS에서 마이크로 서비스 개발에 도움이 되는 다음과 같은 기능 집합을 제공합니다.

  • 클러스터 확장을 통해 AKS에서 Dapr을 쉽게 프로비 전합니다.
  • 기본 기술을 추상화한 HTTP 및 gRPC API를 통해 이식성 사용
  • HTTP 및 gRPC API를 통한 안정적이고 안전하며 복원력 있는 서비스 간 호출
  • CloudEvent 필터링 및 메시지 배달을 위한 "최소 한 번" 의미 체계를 지원하여 쉽게 만든 메시지 게시 및 구독
  • Open Telemetry API 수집기를 통한 플러그형 가시성 및 모니터링
  • 언어와 독립적으로 작동하는 동시에 언어별 SDK(소프트웨어 개발 키트)도 제공합니다.
  • Dapr 확장을 통해 Visual Studio Code와 통합
  • 분산 응용 프로그램 문제를 해결하기 위한 추가 API

현재 지원됨

Dapr 확장은 AKS의 Dapr에 대해 Microsoft가 지원하는 유일한 옵션입니다.

문제 처리

Microsoft는 Dapr 확장에 대해 제기된 문제를 두 부분으로 분류합니다.

  • 확장 작업
  • Dapr 런타임(API 및 구성 요소 포함)

다음 표에서는 이러한 각 범주에 대한 지원 우선 순위 수준을 분석합니다.

설명 보안 위험/회귀 기능적 문제
확장 작업 Dapr 확장 설치/제거 또는 업그레이드와 같은 확장 작업 중에 발생하는 문제입니다. Microsoft는 즉각적인 해결을 우선시합니다. Microsoft는 필요에 따라 조사하고 해결합니다.
Dapr 런타임 확장을 통해 Dapr 런타임, API 및 구성 요소를 사용할 때 발생하는 문제입니다. Microsoft는 오픈 소스 커뮤니티와 협력하여 우선 순위가 높은 문제를 조사합니다. 문제의 우선 순위, 심각도 및 크기에 따라 Microsoft는 확장에서 직접 문제를 해결하거나 Dapr 오픈 소스 프로젝트와 협력하여 핫픽스 또는 향후 Dapr 오픈 소스 릴리스에서 해결합니다. Dapr 오픈 소스에 수정 사항이 릴리스되면 Dapr 확장에서 사용할 수 있습니다. Microsoft는 Dapr 오픈 소스 프로젝트와 함께 새로운 기능 문제를 조사하고 이들과 협력하여 핫픽스 또는 향후 Dapr 오픈 소스 릴리스에서 해결합니다. 알려진 오픈 소스 기능 문제는 현재 Microsoft에서 조사하지 않습니다.

Dapr 버전

Microsoft는 최신 버전의 Dapr과 두 가지 이전 버전(N-2)에 대해 최선의 지원을 제공합니다. 최신 패치 버전은 각 부 버전 릴리스에서 유일하게 지원되는 버전입니다. 현재 AKS 또는 Arc 지원 Kubernetes용 Dapr 확장은 다음 Dapr 버전을 지원합니다.

  • 1.13.x
  • 1.12.x
  • 1.11.x

Azure CLI 명령을 실행하여 클러스터 또는 위치에서 사용할 수 있는 버전 목록을 검색할 수 있습니다.

관리 AKS 클러스터에서 사용할 수 있는 안정적인 최신 Dapr 버전을 확인하고 대상 지정하는 방법을 알아봅니다.

런타임 지원

Dapr 확장 지원은 런타임을 관리하는 방법에 따라 달라집니다.

자체 관리

자체 관리형 런타임은 지원 기간을 유지하려면 수동 업그레이드가 필요합니다. 확장을 통해 Dapr을 업그레이드하려면 확장 인스턴스 업데이트 지침을 따릅니다.

Dapr 런타임 버전이 Microsoft 지원이 종료된 후에도 애플리케이션은 변경되지 않고 계속 실행됩니다. 그러나 Microsoft는 더 이상 해당 런타임 버전에 대한 보안 패치 또는 관련 고객 지원을 제공할 수 없습니다. 해당 버전의 지원 종료 날짜 이후에 애플리케이션에 문제가 발생하는 경우 지원되는 버전으로 업그레이드하여 최신 보안 패치 및 기능을 받는 것이 좋습니다.

자동 업그레이드

자동 업그레이드를 사용하도록 설정하려면 신중하게 고려해야 합니다. 자동 업그레이드를 통해 Dapr 확장이 최신 부 버전으로 업데이트되는 동안 업데이트 간에 호환성이 손상되는 변경이 발생할 수 있습니다. Microsoft는 자동 업데이트 간의 호환성이 손상되는 변경으로 인해 발생하는 가동 중지 시간에 대해 책임을 지지 않습니다.

구성 요소 및 API

알파 및 베타 상태를 포함하여 Dapr 확장을 통해 모든 Dapr 구성 요소와 API를 사용할 수 있습니다. 그러나 Microsoft는 정의된 문제 처리 정책에 따라 API 및 구성 요소의 하위 집합에 대해서만 지원을 제공합니다.

안정적인 Dapr API

Dapr 확장은 Dapr API(구성 요소)의 안정적인 버전을 지원합니다.

Dapr API Status 설명
서비스 간 호출 안정 자동 mTLS 인증 및 암호화를 사용하여 서비스를 검색하고 안정적이고 직접적인 서비스 간 호출을 수행합니다.(#limitations)
상태 관리 안정 트랜잭션 및 CRUD 작업에 대한 상태 관리 기능을 제공합니다.
게시/구독 안정 게시자와 구독자 앱이 중간 메시지 브로커를 통해 상호 통신할 수 있도록 허용합니다. 외부 구성 요소 JSON 파일을 사용하여 토픽에 선언적 구독을 만들 수도 있습니다.
바인딩 안정 이벤트를 기반으로 애플리케이션을 트리거합니다.
행위자 안정 Dapr 작업자는 신속하게 확장하도록 설계된 메시지 기반의 단일 스레드 작업 단위입니다. 예를 들어 버스트가 많은 워크로드 상황에 해당합니다.
가시성 안정 추적 정보를 Application Insights 백 엔드에 보냅니다.
비밀 안정 애플리케이션 코드에서 비밀에 액세스하거나 Dapr 구성 요소에서 보안 값을 참조합니다.
Configuration 안정 지원되는 구성에 대한 애플리케이션 구성 항목을 검색하고 구독합니다. 있습니다.

계층 1 및 계층 2 구성 요소

Dapr 구성 요소의 하위 집합이 지원됩니다. 해당 하위 집합 내에서 Dapr 구성 요소는 계층 1 또는 계층 2라는 두 가지 지원 범주로 나뉩니다.

  • 계층 1 구성 요소: 위험(보안 또는 심각한 회귀) 시나리오에서 즉각적인 조사를 받는 안정적인 구성 요소입니다. 그렇지 않은 경우 Microsoft는 오픈 소스와 협력하여 핫픽스 또는 다음 정규 릴리스에서 문제를 해결합니다.
  • 계층 2 구성 요소: 안정적인 상태가 아니거나 타사 공급자에 있으므로 낮은 우선 순위로 조사되는 구성 요소입니다.
계층 1 구성 요소
API 구성 요소 Type
상태 관리 Azure Cosmos DB
Azure Blob Storage v1
Azure Table Storage
Microsoft SQL Server
state.azure.cosmosdb
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
게시 & 등록 Azure Service Bus 큐
Azure Service Bus Topics
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
바인딩 Azure Storage 큐
Azure Service Bus 큐
Azure Blob Storage
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
비밀 관리 Azure Key Vault secretstores.azure.keyvault
계층 2 구성 요소
API 구성 요소 Type
상태 관리 PostgreSQL
MySQL & MariaDB
Redis
state.postgresql
state.mysql
state.redis
게시 & 등록 Apache Kafka
Redis Streams
pubsub.kafka
pubsub.redis
바인딩 Azure Event Grid
Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
구성 PostgreSQL
Redis
configuration.postgresql
configuration.redis

클라우드/지역

글로벌 Azure 클라우드는 다음 지역에서 AKS 및 Arc 지원을 통해 지원됩니다.

지역 AKS 지원 Kubernetes용 Arc 지원
australiaeast ✔️ ✔️
australiasoutheast ✔️
brazilsouth ✔️
canadacentral ✔️ ✔️
canadaeast ✔️ ✔️
centralindia ✔️ ✔️
centralus ✔️ ✔️
eastasia ✔️ ✔️
eastus ✔️ ✔️
eastus2 ✔️ ✔️
eastus2euap ✔️
francecentral ✔️ ✔️
francesouth ✔️
germanywestcentral ✔️ ✔️
japaneast ✔️ ✔️
japanwest ✔️
koreacentral ✔️ ✔️
koreasouth ✔️
northcentralus ✔️ ✔️
northeurope ✔️ ✔️
norwayeast ✔️
southafricanorth ✔️
southcentralus ✔️ ✔️
southeastasia ✔️ ✔️
southindia ✔️
swedencentral ✔️ ✔️
switzerlandnorth ✔️ ✔️
uaenorth ✔️
uksouth ✔️ ✔️
ukwest ✔️
westcentralus ✔️ ✔️
westeurope ✔️ ✔️
westus ✔️ ✔️
westus2 ✔️ ✔️
westus3 ✔️ ✔️

자주 묻는 질문

Dapr 및 서비스 메시는 어떻게 비교하나요?

A: 서비스 메시가 네트워킹 서비스 메시로 정의된 경우 Dapr은 서비스 메시가 아닙니다. Dapr 및 서비스 메시는 몇 가지 겹치는 기능을 제공하지만, 서비스 메시는 네트워킹 문제에 중점을 두지만, Dapr은 개발자가 애플리케이션을 마이크로 서비스로 쉽게 빌드할 수 있도록 하는 구성 요소를 제공하는 데 중점을 줍니다. Dapr은 개발자 중심이지만 서비스 메시는 인프라 중심입니다.

Dapr이 서비스 메시와 공유하는 몇 가지 일반적인 기능은 다음과 같습니다.

  • mTLS 암호화를 사용하여 서비스 간 통신 보호
  • 서비스 간 메트릭 컬렉션
  • 서비스 간 분산 추적
  • 재시도를 통한 복원력

또한 Dapr은 상태 관리, pub/sub 메시지, 작업자 등을 위한 다른 애플리케이션 수준 구성 요소를 제공합니다. 그러나 Dapr은 라우팅 또는 트래픽 분할과 같은 트래픽 동작에 대한 기능을 제공하지 않습니다. 솔루션이 서비스 메시에서 제공하는 트래픽 분할을 활용하는 경우 Open Service Mesh를 사용하는 것이 좋습니다.

Dapr 및 서비스 메시에 대한 자세한 내용과 함께 사용할 수 있는 방법은 Dapr 설명서를 참조하세요.

Dapr 비밀 API는 비밀 저장소 CSI 드라이버와 어떻게 비교됩니까?

Dapr 비밀 API와 관리되는 비밀 저장소 CSI 드라이버는 모두 외부 저장소에 보관된 비밀을 통합하여 애플리케이션 코드에서 비밀 저장소 기술을 추상화할 수 있습니다. 비밀 저장소 CSI 드라이버는 애플리케이션에서 사용할 수 있는 CSI 볼륨으로 Azure Key Vault에 보관된 비밀을 탑재합니다. Dapr은 RESTful API를 통해 다음과 같은 비밀을 노출합니다.

  • 애플리케이션 코드에 의해 호출됨
  • 다양한 비밀저장소로 구성

다음 표에서는 각 제품의 기능을 나열합니다.

Dapr 비밀 API 비밀 저장소 CSI 드라이버
지원되는 비밀 저장소 로컬 환경 변수(개발용); 로컬 파일(개발용); Kubernetes 비밀; AWS 비밀 관리자; Azure Key Vault 비밀 저장소; Kubernetes에서 관리 ID가 있는 Azure Key Vault; GCP 비밀 관리자; HashiCorp 자격 증명 모음 Azure Key Vault 비밀 저장소
애플리케이션 코드에서 비밀 액세스 Dapr 비밀 API 호출 탑재된 볼륨에 액세스하거나 탑재된 콘텐츠를 Kubernetes 비밀로 동기화하고 환경 변수를 설정합니다
비밀 회전 새 API 호출은 업데이트된 비밀을 가져옵니다 비밀을 폴링하고 구성 가능한 간격으로 탑재를 업데이트합니다
로깅 및 메트릭 Dapr 사이드카는 Azure Monitor와 같은 수집기를 사용하여 구성할 수 있는 로그를 생성하고, Prometheus를 통해 메트릭을 내보내고, 상태 검사를 위해 HTTP 엔드포인트를 노출합니다 Prometheus를 통해 드라이버 및 Azure Key Vault 공급자 메트릭 내보내기

Dapr의 비밀 관리에 대한 자세한 내용은 비밀 관리 개요를 참조하세요.

비밀 저장소 CSI 드라이버 및 Azure Key Vault 공급자에 대한 자세한 내용은 비밀 저장소 CSI 드라이버 개요를 참조하세요.

관리되는 Dapr 클러스터 확장은 오픈 소스 Dapr 제품과 어떻게 비교됩니까?

관리되는 Dapr 클러스터 확장은 AKS 클러스터에서 Dapr을 프로비전하는 가장 쉬운 방법입니다. 확장을 사용하면 자동 업그레이드를 옵트인하여 Dapr 런타임 버전의 관리를 오프로드할 수 있습니다. 또한 확장은 스마트 기본값을 사용하여 Dapr을 설치합니다(예: 고가용성 모드에서 Dapr 컨트롤 플레인 프로비전).

helm 또는 Dapr CLI를 통해 Dapr 오픈 소스를 설치할 때 개발자와 클러스터 유지 관리 담당자는 런타임 버전 및 구성 옵션도 담당합니다.

마지막으로 Dapr 확장은 AKS의 확장이므로 다른 AKS 기능과 동일한 지원 정책을 기대할 수 있습니다.

Dapr 오픈 소스에서 AKS용 Dapr 확장으로 마이그레이션하는 방법에 대해 자세히 알아봅니다.

관리 ID를 사용하여 Microsoft Entra ID에서 Dapr 구성 요소를 인증하려면 어떻게 해야 하나요?

Helm과 같은 메서드를 통해 Dapr을 이미 설치한 경우 Dapr 확장을 사용하도록 전환하려면 어떻게 해야 하나요?

권장 지침은 AKS 클러스터에서 Dapr을 완전히 제거하고 클러스터 확장을 통해 다시 설치하는 것입니다.

AKS 확장을 통해 Dapr을 설치하는 경우 Dapr CLI 대신 Dapr의 향후 관리를 위해 확장을 계속 사용하는 것이 좋습니다. 두 도구를 결합하면 충돌이 발생하고 원치 않는 동작이 발생할 수 있습니다.

다음 단계