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


Устранение ошибок установки расширения 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.enabled=falseключ, например global.ha=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 не зарегистрирован в регионе regionname<>.

Код: ExtensionTypeRegistrationGetFailed

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

Решение 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 вытеснение не полезно для планирования.

Эта проблема может возникнуть, когда модуль 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.

Заявление об отказе от ответственности за сведения о продуктах сторонних производителей

В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.

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

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