Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
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 OSS в расширение Dapr".
Создайте расширение Dapr, которое устанавливает Dapr в кластере AKS или Kubernetes с поддержкой Arc.
Например, установите последнюю версию Dapr через расширение Dapr в кластере AKS:
az k8s-extension create --cluster-type managedClusters \
--cluster-name <your-AKS-cluster> \
--resource-group <your-resource-group> \
--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 <your-resource-group> --cluster-name <your-AKS-cluster> --cluster-type managedClusters --extension-type microsoft.dapr --release-train stable
Чтобы просмотреть последнюю стабильную версию Dapr, доступную для управляемого кластера AKS, выполните следующую команду:
az k8s-extension extension-types list-versions-by-cluster --resource-group <your-resource-group> --cluster-name <your-AKS-cluster> --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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false \
--version 1.14.4-msft.10
Устранение неполадок
Устранение ошибок управления расширениями
Если не удается создать или обновить расширение, попробуйте следовать предложениям и решениям в руководстве по устранению неполадок расширения Dapr.
Устранение функциональных ошибок Dapr
Просмотрите руководство по решению распространенных ошибок и проблем Dapr с открытым исходным кодом, не связанных с расширением.
Поддержка
Примечание.
Узнайте больше о том, как корпорация Майкрософт обрабатывает проблемы, возникающие для расширения Dapr.
Если при использовании расширения вы сталкиваетесь с рисками безопасности и регрессиями в среде выполнения Dapr, создайте задачу в проекте Dapr с открытым исходным кодом.
Вы также можете начать обсуждение в проекте Dapr Discord:
Удалите расширение Dapr из кластера
Процесс удаления расширения Dapr из AKS не удаляет пользовательские определения ресурсов,созданные во время установки. Эти CRD остаются в кластере как резидные компоненты, необходимые для механизма согласования процессов установки и удаления расширения.
Чтобы очистить кластер этих CRD, их можно удалить вручную после полного удаления расширения Dapr из AKS.
Удаление расширения
Удалите расширение из кластера AKS, выполнив следующую команду:
az k8s-extension delete --resource-group <your-resource-group> --cluster-name <your-AKS-cluster> --cluster-type managedClusters --name dapr
Или, если используется шаблон Bicep, можно удалить шаблон.
Вывод списка CRD в кластере
Чтобы найти CRDs, которые вы хотите удалить, выполните следующую команду:
kubectl get crds | findstr dapr.io