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