Dapr(분산 애플리케이션 런타임)은 간단하고 이식 가능하며 복원력이 뛰어나며 보안이 유지되는 마이크로 서비스를 작성하고 구현하는 데 도움이 되는 API를 제공합니다. Dapr API는 애플리케이션과 함께 사이드카 프로세스로 실행되며 다음과 같이 분산 애플리케이션을 빌드할 때 발생할 수 있는 일반적인 복잡성을 추상화합니다.
- 서비스 검색
- 메시지 브로커 통합
- 암호화
- 가시성
- 비밀 관리
Dapr은 점진적으로 채택할 수 있습니다. 필요에 따라 API 빌딩 블록을 사용할 수 있습니다. Microsoft가 Dapr 확장에 대해 제공하는 지원 수준에 대해 알아봅니다.
기능 및 특징
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
문제 처리
Microsoft는 Dapr 확장에 대해 제기된 문제를 두 부분으로 분류합니다.
- 확장 작업
- Dapr 런타임(API 및 구성 요소 포함)
다음 표에서는 이러한 각 범주에 대한 지원 우선 순위 수준을 분석합니다.
설명 | 보안 위험/회귀 | 기능적 문제 | |
---|---|---|---|
확장 작업 | Dapr 확장 설치/제거 또는 업그레이드와 같은 확장 작업 중에 발생하는 문제입니다. | Microsoft는 즉각적인 해결을 우선시합니다. | Microsoft는 필요에 따라 조사하고 해결합니다. |
Dapr 런타임 | 인증서 만료 및 예기치 않은 구성 요소 동작과 같이 확장을 통해 Dapr 런타임, API 및 구성 요소를 사용할 때 발생하는 문제입니다. | Dapr 오픈 소스 프로젝트를 사용하여 핫픽스 또는 향후 Dapr 오픈 소스 릴리스에서 해결합니다. Dapr 오픈 소스에 수정 사항이 릴리스되면 Dapr 확장에서 사용할 수 있습니다. 알려진 오픈 소스 보안 위험 및 회귀는 현재 Microsoft에서 조사되지 않습니다. | 핫픽스 또는 향후 Dapr 오픈 소스 릴리스에서 해결하기 위해 Dapr 오픈 소스 프로젝트 문제를 논의합니다. 알려진 오픈 소스 기능 문제는 현재 Microsoft에서 조사하지 않습니다. |
클라우드/지역
글로벌 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 및 서비스 메시는 어떻게 비교하나요?
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 구성 요소를 인증하려면 어떻게 해야 하나요?
- Apr 구성 요소가 Microsoft Entra ID로 인증하는 방법에 대해 알아봅니다.
- AKS로 관리 ID 사용에 대해 알아봅니다.
Helm과 같은 메서드를 통해 Dapr을 이미 설치한 경우 Dapr 확장 사용으로 전환하려면 어떻게 해야 하나요?
권장 지침은 AKS 클러스터에서 Dapr을 완전히 제거하고 클러스터 확장을 통해 다시 설치하는 것입니다. 기존 Dapr 설치를 확인하고 AKS로 마이그레이션할 수도 있습니다.
AKS 확장을 통해 Dapr을 설치하는 경우 Dapr CLI 대신 Dapr의 향후 관리를 위해 확장을 계속 사용하는 것이 좋습니다. 두 도구를 결합하면 충돌이 발생하고 원치 않는 동작이 발생할 수 있습니다.
다음 단계
Azure Kubernetes Service