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

Dapr 은 클라우드 및 에지에서 실행되고 다양한 언어 및 개발자 프레임워크를 수용하는 복원력 있고 상태 비저장 및 상태 저장 애플리케이션을 빌드하는 것을 간소화합니다. Dapr의 사이드카 아키텍처를 사용하면 다음과 같은 마이크로 서비스 빌드와 관련된 문제를 해결하면서 코드 플랫폼을 제약 없이 유지할 수 있습니다.

  • 안정적이고 안전하게 다른 서비스 호출
  • pub/sub를 사용하여 이벤트 기반 앱 빌드
  • 여러 클라우드 서비스 및 호스트에서 이식 가능한 애플리케이션 빌드(예: Kubernetes 및 VM)

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

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

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

참고 항목

Kubernetes 프로덕션 환경에 Dapr을 설치하려는 경우 프로덕션 사용을 위한 Dapr 가이드라인 설명서 페이지를 참조하세요.

작동 방법

Dapr 확장은 Azure CLI를 사용하여 AKS 또는 Arc 지원 Kubernetes 클러스터에서 Dapr 제어 평면을 프로비전하여 다음 Dapr 서비스를 만듭니다.

Dapr 서비스 설명
dapr-operator Dapr(상태 저장소, pub/subs 등)에 대한 구성 요소 업데이트 및 Kubernetes 서비스 엔드포인트를 관리합니다.
dapr-sidecar-injector 주석이 추가된 배포 Pod에 Dapr을 삽입하고 환경 변수를 DAPR_HTTP_PORTDAPR_GRPC_PORT 추가하고 사용자 정의 애플리케이션이 Dapr 포트 값을 하드 코딩하지 않고도 Dapr과 쉽게 통신할 수 있도록 합니다.
dapr-placement 행위자 전용으로 사용됩니다. 행위자 인스턴스를 Pod에 매핑하는 매핑 테이블을 만듭니다.
dapr-sentry 서비스 간 mTLS를 관리하고 인증 기관 역할을 합니다. 자세한 내용은 보안 개요를 참조하세요.

클러스터에 Dapr이 설치된 후 배포에 몇 가지 주석을 추가하여 Dapr 구성 요소 API를 통해 개발을 시작할 수 있습니다. 구성 요소 API에 대한 자세한 개요와 이를 가장 잘 사용하는 방법은 Dapr 구성 요소 개요를 참조하세요.

Warning

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

현재 지원됨

Dapr 버전

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

자체 관리형
자체 관리형 런타임의 경우 Dapr 확장은 다음을 지원합니다.

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

자동 업그레이드
자동 업그레이드를 사용하도록 설정하면 Dapr 확장이 계속해서 최신 부 버전으로 업데이트됩니다. 업데이트 간에 호환성이 손상되는 변경이 발생할 수 있습니다.

구성 요소

Azure + 오픈 소스 구성 요소가 지원됩니다. 알파 및 베타 구성 요소는 최대한 지원됩니다.

클라우드/지역

Global Azure cloud는 다음 지역에서 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 ✔️ ✔️

필수 조건

클러스터 확장에 대한 Azure CLI 확장 설정

k8s-extension 다음 명령을 실행하여 Azure CLI 확장을 설치합니다.

az extension add --name k8s-extension

확장이 k8s-extension 이미 설치된 경우 다음 명령을 사용하여 최신 버전으로 업데이트할 수 있습니다.

az extension update --name k8s-extension

KubernetesConfiguration 서비스 공급자 등록

이전에 클러스터 확장을 사용하지 않은 경우 서비스 공급자를 구독에 등록해야 할 수 있습니다. 다음 예제와 같이 [az provider list][az-provider-list] 명령을 사용하여 공급자 등록의 상태를 확인할 수 있습니다.

az provider list --query "[?contains(namespace,'Microsoft.KubernetesConfiguration')]" -o table

Microsoft.KubernetesConfiguration 공급자는 다음 예제 출력과 같이 Registered로 보고됩니다.

Namespace                          RegistrationState    RegistrationPolicy
---------------------------------  -------------------  --------------------
Microsoft.KubernetesConfiguration  Registered           RegistrationRequired

공급자가 NotRegistered표시되는 경우 다음 예제와 같이 az provider register를 사용하여 공급자를 등록합니다.

az provider register --namespace Microsoft.KubernetesConfiguration

확장을 만들고 AKS 또는 Arc 지원 Kubernetes 클러스터에 Dapr을 설치합니다.

Dapr 확장을 설치할 때 클러스터 유형에 해당하는 플래그 값을 사용합니다.

  • AKS 클러스터: --cluster-type managedClusters.
  • Arc 지원 Kubernetes 클러스터: --cluster-type connectedClusters.

참고 항목

AKS 클러스터에서 Dapr OSS를 사용 중이고 AKS용 Dapr 확장을 설치하려는 경우 Dapr 확장으로 마이그레이션하는 방법을 자세히 알아보세요.

AKS 또는 Arc 지원 Kubernetes 클러스터에 Dapr을 설치하는 Dapr 확장을 만듭니다.

예를 들어 AKS 클러스터에 Dapr 확장을 통해 최신 버전의 Dapr을 설치합니다.

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false

특정 Dapr 버전 대상 지정

참고 항목

Dapr은 현재 및 이전 버전만 포함하여 롤링 창에서 지원됩니다. 지원되는 이러한 버전을 최신 상태로 유지하는 것은 운영상의 책임입니다. Dapr의 이전 버전이 있는 경우 지원되는 버전을 가져오기 위해 중간 업그레이드를 수행해야 할 수 있습니다.

특정 버전의 Dapr을 설치하거나 이전 버전으로 롤백하는 데 동일한 명령줄 인수가 사용됩니다. --auto-upgrade-minor-versionfalse로 설정하고 --version을 설치하려는 Dapr 버전으로 설정합니다. 매개 변수를 version 생략하면 확장에서 최신 버전의 Dapr을 설치합니다. 예를 들어 Dapr X.X.X를 사용하려면:

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false \
--version X.X.X

Dapr 컨트롤 플레인에 대한 자동 업데이트 구성

Warning

개발 또는 테스트 환경에서만 Dapr 컨트롤 플레인에 대한 자동 업데이트를 사용하도록 설정할 수 있습니다. 자동 업그레이드는 프로덕션 환경에 적합하지 않습니다.

버전을 지정하지 않고 Dapr을 설치하는 경우 새 릴리스에서 해당 부 버전을 --auto-upgrade-minor-version자동으로 업데이트하도록 Dapr 컨트롤 플레인을 구성하여 자동으로 사용하도록 설정됩니다. 매개 변수를 지정하고 --auto-upgrade-minor-version 값을 false.로 설정하여 자동 업데이트를 사용하지 않도록 설정할 수 있습니다. Dapr 버전 관리 형식은 MAJOR.MINOR.PATCH 버전 업그레이드를 의미합니다 1.11.01.12.0.

--auto-upgrade-minor-version true

릴리스 학습 선택

확장을 구성할 때 특정 --release-train에서 Dapr을 설치하도록 선택할 수 있습니다. 두 릴리스 학습 값 중 하나를 지정합니다.

설명
stable 기본값.
dev 초기 릴리스에는 실험적 기능이 포함될 수 있습니다. 프로덕션에 적합하지 않습니다.

예시:

--release-train stable

확장 오류 문제 해결.

확장이 만들거나 업데이트하지 못하는 경우 Dapr 확장 문제 해결 가이드에서 제안 및 솔루션을 사용해 보세요.

Dapr 문제 해결

일반적인 Dapr 문제 및 솔루션 가이드를 통해 Dapr 오류를 해결합니다.

확장 삭제

확장을 삭제하고 AKS 클러스터에서 Dapr을 제거해야 하는 경우 다음 명령을 사용할 수 있습니다.

az k8s-extension delete --resource-group myResourceGroup --cluster-name myAKSCluster --cluster-type managedClusters --name dapr

다음 단계