Расширение Dapr для Службы Azure Kubernetes (AKS) и Kubernetes с поддержкой Arc

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

  • надежный и безопасный вызов других служб;
  • Создание приложений на основе событий с помощью pub/sub
  • создание приложений, переносимых между различными облачными службами и узлами (например, Kubernetes и виртуальной машиной).

Примечание.

Если вы хотите установить Dapr в рабочей среде Kubernetes, см. страницу документации с рекомендациями по использованию Dapr в рабочей среде.

Принцип работы

Расширение Dapr использует Azure CLI или шаблон Bicep для подготовки плоскости управления Dapr в кластере Kubernetes с поддержкой Arc или AKS, создав следующие службы Dapr:

Служба Dapr Description
dapr-operator Управляет обновлениями компонентов и конечными точками служб Kubernetes для Dapr (хранилища состояний, pub/subs и т. д.)
dapr-sidecar-injector Внедряет Dapr в аннотированные модули pod развертывания и добавляет переменные DAPR_HTTP_PORT среды и DAPR_GRPC_PORT позволяет пользовательским приложениям легко взаимодействовать с Dapr без жесткого написания значений порта Dapr.
dapr-placement Используется только для субъектов. Создает таблицы сопоставления, которые сопоставляют экземпляры субъектов с pod.
dapr-sentry Управляет mTLS между службами и выступает в качестве центра сертификации. Дополнительные сведения см. в обзоре безопасности.

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

Предупреждение

Если вы устанавливаете Dapr с помощью расширения AKS или Kubernetes с поддержкой Arc, мы рекомендуем продолжить использовать расширение (вместо интерфейса командной строки Dapr) для будущего управления 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

Создание расширения и установка Dapr в кластере AKS или Kubernetes с поддержкой Arc

При установке расширения Dapr используйте значение флага, соответствующее типу кластера.

  • Кластер AKS: --cluster-type managedClusters.
  • Кластер Kubernetes с поддержкой Arc: --cluster-type connectedClusters.

Примечание.

Если вы используете DAPR OSS в кластере AKS и хотите установить расширение Dapr для AKS, ознакомьтесь с дополнительными сведениями о том, как успешно выполнить миграцию в расширение Dapr.

Создайте расширение Dapr, которое устанавливает Dapr в кластере AKS или Kubernetes с поддержкой Arc.

Например, установите последнюю версию Dapr через расширение Dapr в кластере AKS:

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

Предупреждение

Вы можете включить автоматическое обновление уровня управления 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-version значение false, а для --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.

Удаление расширения

Если вам необходимо удалить расширение и удалить Dapr из кластера AKS, можно использовать следующую команду:

az k8s-extension delete --resource-group myResourceGroup --cluster-name myAKSCluster --cluster-type managedClusters --name dapr

Или просто удалите шаблон Bicep.

Next Steps