Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Dapr упрощает создание устойчивых, безсостояничных и состояничных приложений, работающих в облаке и на периферии, и поддерживает разнообразие языков и фреймворков разработчиков. С архитектурой сайдкара Dapr вы можете сохранить независимость вашего кода от платформы, решая задачи, связанные с созданием микросервисов, такие как:
- надежный и безопасный вызов других служб;
- Создание приложений на основе событий с помощью pub/sub
- Создание приложений, переносимых между несколькими облачными службами и узлами (например, Kubernetes и виртуальной машиной).
Примечание.
Если вы хотите установить Dapr в рабочей среде Kubernetes, см. страницу документации с рекомендациями по использованию Dapr в рабочей среде.
Принцип работы
Расширение Dapr использует Azure CLI или шаблон Bicep для предоставления плоскости управления Dapr в кластере Kubernetes с поддержкой AKS или Arc, создавая следующие службы Dapr:
| Служба Dapr | Описание |
|---|---|
dapr-operator |
Управляет обновлениями компонентов и конечными точками служб Kubernetes для Dapr (хранилища состояний, публикация/подписка и т. д.) |
dapr-sidecar-injector |
Внедряет Dapr в аннотированные pods развертывания и добавляет переменные среды DAPR_HTTP_PORT и DAPR_GRPC_PORT, что позволяет пользовательским приложениям легко взаимодействовать с Dapr без жесткого написания значений порта Dapr. |
dapr-placement |
Используется только для актеров. Создает карты, которые сопоставляют экземпляры акторов с подами. |
dapr-sentry |
Управляет mTLS между службами и выступает в качестве центра сертификации. Дополнительные сведения см. в обзоре безопасности. |
После установки Dapr в кластере можно начать разработку с использованием API строительных блоков Dapr, добавив несколько аннотаций к развертываниям. Подробные сведения об API стандартных блоков и их оптимальном использовании см. в обзоре стандартных блоков Dapr.
Предупреждение
Если вы устанавливаете Dapr с помощью расширения AKS или Kubernetes с поддержкой Arc, мы рекомендуем продолжить использовать расширение (вместо интерфейса командной строки Dapr) для будущего управления Dapr. Параллельное использование этих двух инструментов может вызвать конфликты и привести к нежелательному поведению.
Предварительные условия
- Подписка Azure. У меня нет? Создайте бесплатную учетную запись.
- Последняя версия Azure CLI.
- Существующий кластер AKS или подключенный кластер Kubernetes с поддержкой Arc.
- Роль администратора для контроля доступа на основе ролей в Службе Azure Kubernetes
Выберите способ установки, развертывания и настройки расширения 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 --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
Зарегистрируйте функцию ExtensionTypes в подписке Azure
Эта ExtensionTypes функция должна быть зарегистрирована в подписке Azure. В терминале убедитесь, что вы находитесь в правильной подписке:
az account set --subscription <YOUR-AZURE-SUBSCRIPTION-ID>
Зарегистрируйте функцию ExtensionTypes .
az feature registration create --namespace Microsoft.KubernetesConfiguration --name ExtensionTypes
Регистрация функции может занять некоторое время. Через несколько минут проверьте состояние регистрации с помощью следующей команды:
az feature show --namespace Microsoft.KubernetesConfiguration --name ExtensionTypes
Создание расширения и установка 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
Обновление управляемого кластера AKS до последней версии
В зависимости от среды (разработки, тестирования или рабочей среды) вы можете поддерживать актуальность последних стабильных версий Dapr.
Выбор поезда выпуска
При настройке расширения можно установить Dapr из определенной ветки выпуска. Укажите одно из двух значений релизного потока:
| значение | Описание |
|---|---|
stable |
По умолчанию. |
dev |
Ранние релизы, которые могут содержать экспериментальные функции. Не подходит для производственной среды. |
Например:
--release-train stable
Настройка автоматических обновлений в управляющей плоскости Dapr
Предупреждение
Автоматическое обновление не подходит для рабочих сред. Разрешайте автоматическое обновление контрольной плоскости 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, доступных для управляемого кластера AKS. Выполните следующую команду:
az k8s-extension extension-types list-versions-by-cluster --resource-group <myResourceGroup> --cluster-name <myCluster> --cluster-type managedClusters --extension-type microsoft.dapr --release-train stable
Чтобы просмотреть последнюю стабильную версию Dapr, доступную для управляемого кластера AKS, выполните следующую команду:
az k8s-extension extension-types list-versions-by-cluster --resource-group <myResourceGroup> --cluster-name <myCluster> --cluster-type managedClusters --extension-type microsoft.dapr --release-train stable --show-latest
Чтобы просмотреть список стабильных версий Dapr, доступных по расположению:
-
Убедитесь, что вы зарегистрировали функцию в подписке
ExtensionTypesAzure. - Выполните следующую команду.
az k8s-extension extension-types list-versions-by-location --location westus --extension-type microsoft.dapr
Затем вручную обновите Dapr до последней стабильной версии.
Ориентация на определенную версию Dapr
Примечание.
Поддержка Dapr осуществляется в рамках подхода скользящего окна, охватывающего только текущую и предыдущие версии. Ваша оперативная обязанность заключается в том, чтобы своевременно обновлять поддерживаемые версии. Если у вас более старая версия Dapr, возможно, вам придется установить промежуточные обновления, чтобы получить поддерживаемую версию.
Для установки определенной версии Dapr или отката к предыдущей версии используется один аргумент командной строки. Установите --auto-upgrade-minor-version на false, а --version — на версию Dapr, которую вы хотите установить.
version Если параметр опущен, расширение устанавливает последнюю версию Dapr. В следующем примере команда устанавливает версию 1.14.4-msft.10 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 \
--version 1.14.4-msft.10
Устранение неполадок
Устранение ошибок управления расширениями
Если не удается создать или обновить расширение, попробуйте следовать предложениям и решениям в руководстве по устранению неполадок расширения Dapr.
Устранение неполадок с функциональными ошибками Dapr
Устранение ошибок с открытым исходным кодом Dapr, не связанных с расширением, с помощью руководства по общим проблемам и решениям Dapr.
Поддержка
Примечание.
Узнайте больше о том, как корпорация Майкрософт обрабатывает проблемы, возникающие для расширения Dapr.
Если при использовании расширения вы сталкиваетесь с рисками безопасности и регрессиями в среде выполнения Dapr, создайте задачу в проекте Dapr с открытым исходным кодом.
Вы также можете начать обсуждение в проекте Dapr Discord:
Удалите расширение Dapr из кластера
Процесс удаления расширения Dapr из AKS не удаляет CRD, созданные во время установки. Эти CRD остаются в кластере как резидные компоненты, необходимые для механизма согласования процессов установки и удаления расширения.
Чтобы очистить кластер этих CRD, их можно удалить вручную после полного удаления расширения Dapr из AKS.
Удаление расширения
Удалите расширение из кластера AKS с помощью следующей команды:
az k8s-extension delete --resource-group <myResourceGroup> --cluster-name <myAKSCluster> --cluster-type managedClusters --name dapr
Или, если используется шаблон Bicep, можно удалить шаблон.
Перечисление ваших CRD в кластере
Чтобы найти CRDs, которые вы хотите удалить, выполните следующую команду:
kubectl get crds | findstr dapr.io