AKS(Azure Kubernetes Service) 및 Arc 지원 Kubernetes 프로젝트에 대한 Dapr 확장 구성
Dapr 확장을 만든 후에는 다음과 같은 다양한 구성 옵션을 사용하여 사용자와 프로젝트에 가장 적합하도록 Dapr 확장을 구성할 수 있습니다.
- Dapr 확장을 사용하는 노드 제한
- 자동 CRD 업데이트 설정
- Dapr 릴리스 네임스페이스 구성
확장을 사용하면 --configuration-settings
매개 변수를 사용하여 Dapr 구성 옵션을 설정할 수 있습니다. 예를 들어, HA(고가용성)가 사용하도록 설정된 Dapr을 프로비저닝하려면 global.ha.enabled
매개 변수를 true
로 설정합니다.
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2"
참고 항목
구성 설정이 중요하고 보호해야 하는 경우(예: 인증서 관련 정보) --configuration-protected-settings
매개 변수를 전달하면 값이 읽히지 않도록 보호됩니다.
구성 설정이 전달되지 않으면 Dapr 구성의 기본값은 다음과 같습니다.
ha:
enabled: true
replicaCount: 3
disruption:
minimumAvailable: ""
maximumUnavailable: "25%"
prometheus:
enabled: true
port: 9090
mtls:
enabled: true
workloadCertTTL: 24h
allowedClockSkew: 15m
사용 가능한 옵션 목록은 Dapr 구성을 참조하세요.
특정 노드로 확장 제한
일부 구성에서는 특정 노드에서만 Dapr을 실행하려고 할 수 있습니다. 확장 구성에서nodeSelector
를 전달하여 확장을 제한할 수 있습니다. 원하는 nodeSelector
에 .
가 포함된 경우 셸 및 확장에서 이를 이스케이프해야 합니다. 예를 들어 다음 구성은 topology.kubernetes.io/zone: "us-east-1c"
가 있는 노드에만 Dapr을 설치합니다.
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.nodeSelector.kubernetes\.io/zone: us-east-1c"
OS 및 아키텍처를 관리하려면 global.daprControlPlaneOs
및 global.daprControlPlaneArch
구성의 지원되는 버전을 사용하세요.
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.daprControlPlaneOs=linux” \
--configuration-settings "global.daprControlPlaneArch=amd64”
HA 모드에서 여러 가용성 영역에 Dapr 설치
기본적으로 배치 서비스는 형식 standard_LRS
의 스토리지 클래스를 사용합니다. 여러 가용성 영역에서 HA 모드로 zone redundant storage class
Dapr을 설치하는 동안 만드는 것이 좋습니다. 예를 들어 형식 스토리지 클래스를 만들려면 다음을 수행 zrs
합니다.
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: custom-zone-redundant-storage
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
parameters:
storageaccounttype: Premium_ZRS
Dapr을 설치할 때 위의 스토리지 클래스를 사용합니다.
az k8s-extension create --cluster-type managedClusters
--cluster-name XXX
--resource-group XXX
--name XXX
--extension-type Microsoft.Dapr
--auto-upgrade-minor-version XXX
--version XXX
--configuration-settings "dapr_placement.volumeclaims.storageClassName=custom-zone-redundant-storage"
Dapr 릴리스 네임스페이스 구성
릴리스 네임스페이스를 구성할 수 있습니다. Dapr 확장은 기본적으로 네임스페이 dapr-system
스에 설치됩니다. 재정의하려면 .를 사용합니다 --release-namespace
. 네임스페이스를 다시 정의할 클러스터 --scope
를 포함합니다.
az k8s-extension create \
--cluster-type managedClusters \
--cluster-name dapr-aks \
--resource-group dapr-rg \
--name my-dapr-ext \
--extension-type microsoft.dapr \
--release-train stable \
--auto-upgrade false \
--version 1.9.2 \
--scope cluster \
--release-namespace dapr-custom
Dapr이 이미 설치된 경우 Dapr 릴리스 네임스페이스를 구성하는 방법을 알아봅니다.
현재 구성 설정 표시
az k8s-extension show
명령을 사용하여 현재 Dapr 구성 설정을 표시합니다.
az k8s-extension show --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr
구성 설정 업데이트
Important
일부 구성 옵션은 만들기 후에 수정할 수 없습니다. 이러한 옵션을 조정하려면 다음 설정에 적용할 수 있는 확장을 삭제하고 다시 만들어야 합니다.
global.ha.*
dapr_placement.*
HA는 기본적으로 사용하도록 설정됩니다. 사용하지 않도록 설정하려면 확장을 삭제하고 다시 실행해야 합니다.
Dapr 구성 설정을 업데이트하려면 원하는 상태로 확장을 다시 만듭니다. 예를 들어 이전에 다음 구성을 사용하여 확장을 만들고 설치했다고 가정합니다.
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2"
2에서 3으로 dapr_operator.replicaCount
를 업데이트하려면 다음 명령을 사용합니다.
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=3"
Azure Arc 온-프레미스에 대한 Dapr 확장에 대한 아웃바운드 프록시 설정
AKS의 Dapr 확장과 함께 아웃바운드 프록시를 사용하려면 다음을 수행합니다.
- 주석을 사용하여
dapr.io/env
프록시 환경 변수 설정:HTTP_PROXY
HTTPS_PROXY
NO_PROXY
- 사이드카에 프록시 인증서 설치.
Dapr 설치 버전 업데이트
특정 Dapr 버전에 있고 사용할 수 없는 --auto-upgrade-minor-version
경우 다음 명령을 사용하여 Dapr을 업그레이드하거나 다운그레이드할 수 있습니다.
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--version 1.12.0 # Version to upgrade or downgrade to
위의 명령은 Dapr 컨트롤 플레 인만 업데이트합니다. Dapr 사이드카를 업데이트하려면 애플리케이션 배포를 다시 시작합니다.
kubectl rollout restart deploy/<DEPLOYMENT-NAME>
Azure Linux 기반 이미지 사용
Dapr 버전 1.8.0에서 Dapr 확장과 함께 Azure Linux 이미지를 사용할 수 있습니다. 이를 사용하려면 플래그를 설정합니다.global.tag
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--set global.tag=1.10.0-mariner
자동 CRD 업데이트 사용 안 함
Dapr 버전 1.9.2를 사용하면 확장이 업그레이드될 때 CRD가 자동으로 업그레이드됩니다. 이 설정을 사용하지 않도록 설정하려면 .로 false
설정할 hooks.applyCrds
수 있습니다.
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--configuration-settings "hooks.applyCrds=false"
참고 항목
CRD는 업그레이드 시에만 적용되며 다운그레이드 중에 건너뜁니다.
네트워크 요구 사항 충족
AKS 및 Kubernetes용 Arc의 Dapr 확장을 사용하려면 https://:443
의 아웃바운드 URL이 작동해야 합니다. Dapr 아티팩트를 풀하기 위한 https://mcr.microsoft.com/daprio
URL 외에도 AKS 또는 Kubernetes용 Arc에 필요한 아웃바운드 URL을 포함했는지 확인합니다.
다음 단계
AKS 클러스터에서 Dapr을 성공적으로 프로비저닝했으면 샘플 애플리케이션을 배포해 보세요.