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

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

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

Использование расширения Dapr для подготовки Dapr в кластере Kubernetes с поддержкой Arc или AKS устраняет затраты:

  • Скачивание инструментов Dapr
  • Установка среды выполнения и управление ими в кластере AKS вручную

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

Примечание.

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

Как это работает

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

Поддержка расширения Dapr зависит от способа управления средой выполнения.

Самостоятельное управление
Для самоуправляемой среды выполнения расширение Dapr поддерживает следующее.

Самоуправляемую среду выполнения требуется обновлять вручную в окне поддержки. Чтобы обновить Dapr с помощью расширения, выполните инструкции по обновлению экземпляра расширения.

Автообновление
Включение автообновления позволяет обновлять расширение Dapr до последней дополнительной версии. Между обновлениями вы можете столкнуться с критическими изменениями.

Компоненты

Поддерживаются компоненты Azure и компоненты с открытым кодом. Альфа- и бета-компоненты поддерживаются по мере возможностей.

Облака и регионы

Глобальное облако Azure (включая поддержку Arc) поддерживается в указанных ниже регионах.

Регион Поддержка AKS Поддержка Arc для Kubernetes
australiaeast ✔️ ✔️
australiasoutheast ✔️
brazilsouth ✔️
canadacentral ✔️ ✔️
canadaeast ✔️ ✔️
centralindia ✔️ ✔️
centralus ✔️ ✔️
eastasia ✔️ ✔️
eastus ✔️ ✔️
eastus2 ✔️ ✔️
eastus2euap ✔️
francecentral ✔️ ✔️
francesouth ✔️
germanywestcentral ✔️ ✔️
japaneast ✔️ ✔️
japanwest ✔️
koreacentral ✔️ ✔️
koreasouth ✔️
northcentralus ✔️ ✔️
northeurope ✔️ ✔️
norwayeast ✔️
southafricanorth ✔️
southcentralus ✔️ ✔️
southeastasia ✔️ ✔️
southindia ✔️
swedencentral ✔️ ✔️
switzerlandnorth ✔️ ✔️
uaenorth ✔️
uksouth ✔️ ✔️
ukwest ✔️
westcentralus ✔️ ✔️
westeurope ✔️ ✔️
westus ✔️ ✔️
westus2 ✔️ ✔️
westus3 ✔️ ✔️

Необходимые компоненты

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

Для установки определенной версии Dapr или отката к предыдущей версии используется один аргумент командной строки. Задайте для --auto-upgrade-minor-version значение false, а для --version — значение с нужной версией Dapr. version Если параметр опущен, расширение устанавливает последнюю версию Dapr. Например, чтобы использовать Dapr X.X.X, укажите следующее:

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 X.X.X

Настройка автоматических обновлений в плоскости управления 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 из определенного --release-trainобъекта. Укажите одно из двух значений обучения выпуска:

Стоимость Description
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

Дальнейшие действия