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

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

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

참고 항목

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

작동 방식

Dapr 확장은 Azure CLI 또는 Bicep 템플릿을 사용하여 AKS 또는 Arc 지원 Kubernetes 클러스터에서 Dapr 컨트롤 플레인을 프로비전하고 다음 Dapr 서비스를 만듭니다.

Dapr 서비스 설명
dapr-operator Dapr에 대한 구성 요소 업데이트 및 Kubernetes Service 엔드포인트(상태 저장소, pub/sub 등)를 관리합니다.
dapr-sidecar-injector Dapr을 주석이 달린 배포 Pod에 삽입하고 환경 변수 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 확장을 설치, 배포, 구성할 방법을 선택합니다.

클러스터 확장에 대한 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 컨트롤 플레인에 대한 자동 업데이트 구성

Warning

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

버전을 지정하지 않고 Dapr을 설치하는 경우, --auto-upgrade-minor-version가 자동으로 사용하도록 설정하여 새 릴리스에서 해당 부 버전을 자동으로 업데이트하도록 Dapr 컨트롤 플레인을 구성합니다.

--auto-upgrade-minor-version 매개 변수를 지정하고 값을 false로 설정하여 자동 업데이트를 사용하지 않도록 설정할 수 있습니다.

Dapr 버전 관리는 MAJOR.MINOR.PATCH 형식이며, 1.11.0에서 1.12.0으로 업그레이드란 버전 업그레이드임을 의미합니다.

--auto-upgrade-minor-version true

특정 Dapr 버전 대상 지정

참고 항목

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

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

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 1.11.2

릴리스 트레인 선택

확장을 구성할 때 특정 릴리스 트레인에서 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

아니면 간단히 Bicep 템플릿을 제거합니다.

다음 단계