Dapr 확장 설치 오류 문제 해결

이 문서에서는 AKS(Microsoft Azure Kubernetes Service) 또는 Arc for Kubernetes용 Dapr(Distributed Application Runtime) 확장을 설치하거나 업데이트할 때 수신할 수 있는 몇 가지 일반적인 오류 메시지에 대해 설명합니다.

시나리오 1: 설치가 실패하지만 오류 메시지가 표시되지 않음

확장이 만들거나 업데이트할 때 오류 메시지를 생성하는 경우 az k8s-extension list 명령을 실행하여 생성에 실패한 위치를 검사할 수 있습니다.

az k8s-extension list --resource-group <my-resource-group-name> \
    --cluster-name <my-cluster-name> \
    --cluster-type managedClusters

대신 와 같은 global.ha=falseglobal.ha.enabled=false구성 설정에서 잘못된 키를 사용하는 경우 다음 JSON 상태 반환됩니다. 오류 메시지는 속성에 message 캡처됩니다.

"statuses": [
  {
    "code": "InstallationFailed",
    "displayStatus": null,
    "level": null,
    "message": "Error: {failed to install chart from path [] for release [dapr-1]: err [template: dapr/charts/dapr_sidecar_injector/templates/dapr_sidecar_injector_poddisruptionbudget.yaml:1:17: executing \"dapr/charts/dapr_sidecar_injector/templates/dapr_sidecar_injector_poddisruptionbudget.yaml\" at <.Values.global.ha.enabled>: can't evaluate field enabled in type interface {}]} occurred while doing the operation : {Installing the extension} on the config",
    "time": null
  }
],

JSON 오류 메시지의 또 다른 예는 다음과 같습니다.

"statuses": [
  {
    "code": "InstallationFailed",
    "displayStatus": null,
    "level": null,
    "message": "The extension operation failed with the following error: unable to add the configuration with configId {extension:microsoft-dapr} due to error: {error while adding the CRD configuration: error {failed to get the immutable configMap from the elevated namespace with err: configmaps 'extension-immutable-values' not found }}. (Code: ExtensionOperationFailed)",
    "time": null
  }
]

해결 방법 1: 클러스터 다시 시작, 서비스 공급자 등록 또는 Dapr 삭제 및 다시 설치

이 문제를 해결하려면 다음 방법을 시도해 보세요.

시나리오 2: 대상 Dapr 버전이 없습니다.

특정 버전을 대상으로 하는 Dapr 확장을 설치하려고 하면 Dapr 버전이 존재하지 않는다는 오류 메시지가 표시됩니다.

(ExtensionOperationFailed) 다음 오류로 확장 작업이 실패했습니다. 지정된 값에서 확장 버전을 resolve 못했습니다.

코드: ExtensionOperationFailed

메시지: 지정된 값에서 확장 버전을 resolve 못했습니다. 오류로 확장 작업이 실패했습니다.

해결 방법 2: 지원되는 Dapr 버전에 대해 다시 설치

확장을 다시 설치합니다. 지원되는 버전의 Dapr을 사용해야 합니다.

시나리오 3: 대상 Dapr 버전이 존재하지만 지정된 지역에는 존재하지 않습니다.

일부 버전의 Dapr은 일부 지역에서 사용할 수 없으므로 다음 오류 메시지가 표시될 수 있습니다.

(ExtensionTypeRegistrationGetFailed) 확장 유형 microsoft.dapr은 지역 <이름>에 등록되지 않았습니다.

코드: ExtensionTypeRegistrationGetFailed

메시지: 지역 이름에 <microsoft.dapr 확장 유형이 등록되지 않았습니다.>

해결 방법 3: 다른 지역에 설치

Dapr 버전이 지원되는 지역에 설치합니다.

시나리오 4: Dapr이 이미 설치되어 있습니다.

AKS용 Dapr 확장 또는 Kubernetes용 Arc를 설치하려고 하지만 네임스페이 dapr-system 스가 이미 있음을 나타내는 오류 메시지가 표시됩니다. 이 오류 메시지는 다음 텍스트와 유사합니다.

(ExtensionOperationFailed) 다음 오류로 확장 작업이 실패했습니다. 오류: {릴리스 [dapr-ext]의 경로 []에서 차트를 설치하지 못했습니다. err [렌더링된 매니페스트에는 이미 있는 리소스가 포함되어 있습니다. 설치를 계속할 수 없음: 네임스페이스 "dapr-system"에 ServiceAccount "dapr-operator"가 있으며 현재 릴리스로 가져올 수 없습니다. 소유권 메타데이터가 잘못되었습니다. 주석 유효성 검사 오류: "meta.helm.sh/release-name" 키는 "dapr-ext"와 같아야 합니다. 현재 값은 "dapr"]} 작업을 수행하는 동안 발생했습니다. 구성에서 {확장} 설치

해결 방법 4: Dapr OSS 먼저 제거

Dapr 확장을 설치하기 전에 Dapr OSS를 제거합니다. 자세한 내용은 Dapr OSS에서 AKS용 Dapr 확장으로 마이그레이션을 참조하세요.

시나리오 5: 배치 서버 Pod가 잘못된 상태입니다.

다음 오류가 발생합니다.

0/4 노드를 사용할 수 있습니다. 노드 1개는 예약할 수 없었고, 3개 노드에는 볼륨 노드 선호도 충돌이 있었습니다. 선점: 0/4 노드를 사용할 수 있습니다. 4 선점은 예약에 유용하지 않습니다.

이 문제는 배치 서버 Pod가 배치 서버 Pod 자체와 다른 영역에서 만든 영구 볼륨을 사용하려고 할 때 발생할 수 있습니다.

해결 방법 5: 여러 가용성 영역에 Dapr을 설치하거나 배치 서비스를 특정 가용성 영역으로 제한

이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.

  • HA 모드에 있는 동안 여러 가용성 영역에 Dapr 설치에서 권장되는 접근 방식을 따릅니다.

  • 사용자 지정 스토리지 클래스를 만들고 배치 서비스에 사용하여 배치 서비스를 특정 가용성 영역으로 제한한 다음, 다음 명령을 실행합니다.

    az k8s-extension create --cluster-type managedClusters
    --cluster-name <clustername>
    --resource-group <resourcegroup>
    --name <name>
    --extension-type Microsoft.Dapr
    --auto-upgrade-minor-version <minorversion>
    --version <version>
    --configuration-settings "dapr_placement.volumeclaims.storageClassName=zone-restricted"
    

    사용자 지정 스토리지 클래스를 만드는 예제는 다음과 같습니다.

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
     name: zone-restricted
    provisioner: disk.csi.azure.com
    reclaimPolicy: Delete
    allowVolumeExpansion: true
    volumeBindingMode: WaitForFirstConsumer
    allowedTopologies:
    - matchLabelExpressions:
     - key: topology.kubernetes.io/zone
       values:
       - centralus-1
    parameters:
     storageaccounttype: StandardSSD_LRS
    

다음 단계

설치 문제가 여전히 발생하는 경우 AKS 문제 해결 가이드Dapr OSS 문제 해결 가이드를 살펴보세요.

타사 정보 고지 사항

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.