Расширение 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. Параллельное использование этих двух инструментов может вызвать конфликты и привести к нежелательному поведению.
Необходимые компоненты
- Подписка Azure. У меня нет? Создайте бесплатную учетную запись.
- Установите последнюю версию Azure CLI.
- Создайте кластер AKS или подключите кластер Kubernetes с поддержкой Arc, если у вас еще нет его.
- Убедитесь, что у вас есть роль Служба Azure Kubernetes RBAC Администратор
Выберите способ установки, развертывания и настройки расширения 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
- Дополнительные сведения о дополнительных параметрах и параметрах, которые можно задать в расширении Dapr.
- После успешной подготовки Dapr в кластере AKS попробуйте развернуть пример приложения.
- Попробуйте использовать рабочий процесс Dapr в расширении Dapr для AKS