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


Установите расширение Dapr для Azure Kubernetes Service (AKS) и Kubernetes с функциями Arc.

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. Параллельное использование этих двух инструментов может вызвать конфликты и привести к нежелательному поведению.

Предварительные условия

Выберите способ установки, развертывания и настройки расширения 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, доступных по расположению:

  1. Убедитесь, что вы зарегистрировали функцию в подписке ExtensionTypes Azure.
  2. Выполните следующую команду.
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 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

Следующий шаг