Поделиться через


Устранение неполадок при установке расширения Dapr

В этой статье рассматриваются некоторые распространенные сообщения об ошибках, которые могут возникать при установке или обновлении расширения распределенной среды выполнения приложений (Dapr) для Microsoft Служба Azure Kubernetes (AKS) или Arc для Kubernetes.

Сценарий 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=false вместо global.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) Сбой операции расширения со следующей ошибкой: не удалось устранить версию расширения из заданных значений.

Код: ExtensionOperationFailed

Сообщение: сбой операции расширения со следующей ошибкой: не удалось устранить версию расширения из заданных значений.

Решение 2. Установка еще раз для поддерживаемой версии Dapr

Повторите попытку установки расширения. Убедитесь, что используется поддерживаемая версия Dapr.

Сценарий 3. Целевая версия Dapr существует, но не в указанном регионе

Так как некоторые версии Dapr недоступны во всех регионах, может появиться следующее сообщение об ошибке:

(ExtensionTypeRegistrationGetFailed) Тип расширения microsoft.dapr не зарегистрирован в имени> региона<.

Код: ExtensionTypeRegistrationGetFailed

Сообщение: тип расширения microsoft.dapr не зарегистрирован в имени региона <>

Решение 3. Установка в другом регионе

Установите в регионе , в котором поддерживается версия Dapr.

Сценарий 4. Dapr уже установлен

Вы пытаетесь установить расширение Dapr для AKS или Arc для Kubernetes, но вы получите сообщение об ошибке, указывающее, что dapr-system пространство имен уже существует. Это сообщение об ошибке напоминает следующий текст:

(ExtensionOperationFailed) Сбой операции расширения со следующей ошибкой: ошибка: {не удалось установить диаграмму из пути [] для выпуска [dapr-ext]: err [отрисованные манифесты содержат ресурс, который уже существует. Не удается продолжить установку: ServiceAccount "dapr-operator" в пространстве имен "dapr-system" существует и не может быть импортирован в текущий выпуск: недопустимые метаданные владения; Ошибка проверки заметки: ключ "meta.helm.sh/release-name" должен иметь значение dapr-ext: текущее значение равно "dapr"]}} при выполнении операции: {Установка расширения} в конфигурации

Решение 4. Сначала удалите DAPR OSS

Удалите DAPR OSS перед установкой расширения Dapr. Дополнительные сведения см. в статье "Миграция из DAPR OSS в расширение Dapr для AKS".

Сценарий 5. Модуль pod сервера размещения находится в плохом состоянии

Возникла следующая ошибка:

Доступны 0/4 узла: 1 узла были незапланированы, 3 узла имели конфликт сходства узлов тома. Предварительная версия: доступны 0/4 узла: 4 preemption не полезно для планирования.

Эта проблема может возникнуть, когда модуль pod размещения пытается использовать постоянный том, созданный в другой зоне, от самого модуля pod сервера размещения.

Решение 5. Установка Dapr в нескольких зонах доступности или ограничение службы размещения в определенной зоне доступности

Чтобы решить эту проблему, используйте один из указанных ниже способов.

  • Выполните рекомендуемый подход в установке 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 не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.