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


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

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

  • Поиск сервисов
  • Интеграция брокера сообщений
  • Шифрование
  • Наблюдаемость
  • Управление секретами

Dapr может быть внедрён постепенно. При необходимости можно использовать любой из стандартных блоков API. Дополнительные сведения об уровне поддержки для расширения Dapr см. в разделе "Обработка проблем".

Возможности и функции

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

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

Вы можете установить, развернуть и настроить расширение Dapr в кластере с помощью Azure CLI или шаблона Bicep.

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

Dapr предоставляет следующий набор возможностей для поддержки разработки микрослужб в AKS:

  • Упрощенное развертывание Dapr в AKS с помощью расширений кластера
  • Переносимость обеспечивается с помощью HTTP и gRPC API, которые абстрагируют выбор базовых технологий.
  • Надежные, безопасные и устойчивые вызовы между службами через API HTTP и gRPC
  • Отправка сообщений о публикации и подписке упрощается с поддержкой фильтрации CloudEvent и по крайней мере один раз семантики для доставки сообщений.
  • Подключаемая наблюдаемость и мониторинг с помощью сборщика API открытых данных телеметрии
  • Независимость языка, а также предложение пакетов средств разработки программного обеспечения для конкретного языка (SDK)
  • Интеграция с Visual Studio Code с помощью расширения Dapr
  • Стандартные API-интерфейсы блоков для решения проблем с распределенными приложениями

Обработка проблем

Корпорация Майкрософт классифицирует проблемы, связанные с расширением Dapr, на две части:

  • Операции расширения
  • Среда выполнения Dapr (включая API и компоненты)

В следующей таблице описаны уровни приоритета поддержки для каждой из этих категорий.

Описание Риски безопасности и регрессии Функциональные проблемы
Операции расширения Проблемы, возникающие во время операций расширения, таких как установка, удаление или обновление расширения Dapr. Корпорация Майкрософт определяет приоритеты для немедленного разрешения. Корпорация Майкрософт исследует и решает проблемы по мере необходимости.
Среда выполнения Dapr Проблемы, возникающие при использовании среды выполнения Dapr, API и компонентов через расширение, например срок действия сертификата и непредвиденное поведение компонента. Обратитесь к проекту с открытым исходным кодом Dapr для разрешения в исправлении или будущем выпуске Dapr с открытым исходным кодом. После выпуска исправлений в открытом исходном коде Dapr они будут доступны в расширении Dapr. Известные риски безопасности с открытым кодом и регрессии не будут расследованы корпорацией Майкрософт в настоящее время. Обсудите проблемы с проектом с открытым исходным кодом Dapr для устранения неполадок в исправлении или будущем выпуске Dapr с открытым исходным кодом. Известные функциональные проблемы с открытым исходным кодом не будут расследованы корпорацией Майкрософт в настоящее время.

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

Глобальное облако Azure поддерживается с поддержкой AKS и Arc в следующих регионах:

Регион Поддержка AKS Поддержка Kubernetes в Arc
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 ✔️ ✔️

Часто задаваемые вопросы

Как Dapr и сервисные сети соотносятся?

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

Ниже приведены некоторые распространенные возможности, которые dapr предоставляет совместно с сетками служб:

  • Безопасное взаимодействие между службами с помощью шифрования mTLS
  • Сбор метрик между службами
  • Распределенная трассировка между службами
  • Устойчивость с помощью повторных попыток

Dapr предоставляет и другие строительные блоки на уровне приложения для управления состоянием, публикации и подписки (pub/sub) сообщений, актеров и т. д. Однако Dapr не предоставляет возможности для поведения трафика, например маршрутизации или разделения трафика. Если ваше решение выиграет от разделения трафика, которое обеспечивает сетка служб, рассмотрите возможность использования Open Service Mesh.

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

Как API секретов Dapr сравнивает с драйвером CSI хранилища секретов?

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

Драйвер CSI хранилища секретов монтирует секреты, хранящиеся в Azure Key Vault, в качестве CSI-тома для использования приложением.

Dapr предоставляет секреты через API RESTful, который может быть следующим:

  • Вызывается кодом приложения
  • Настроено с разнообразными хранилищами секретов

В следующей таблице перечислены возможности каждого предложения:

API секретов Dapr CSI драйвер хранилища секретов
Поддерживаемые хранилища секретов Переменные локальной среды (для разработки); Локальный файл (для разработки); Секреты Kubernetes; Диспетчер секретов AWS; Хранилище секретов Azure Key Vault; Azure Key Vault с управляемыми удостоверениями в Kubernetes; Диспетчер секретов GCP; HashiCorp Vault Хранилище секретов Azure Key Vault
Доступ к секретам в коде приложения Вызов API секретов Dapr Получите доступ к подключенному тому или синхронизируйте подключенное содержимое в виде секрета Kubernetes и задайте переменную окружения.
Ротация секретов Новые запросы API получают обновленные секреты Опрашивает секреты и обновляет монтаж с настраиваемым интервалом
Ведение журнала и метрики Побочный процесс Dapr создает журналы, которые можно настроить с помощью сборщиков, таких как Azure Monitor, отправляет метрики через Prometheus и предоставляет конечную точку HTTP для проверки состояния. Генерирует метрики драйвера и провайдера Azure Key Vault через Prometheus.

Дополнительные сведения об управлении секретами в Dapr см. в обзоре управления секретами.

Дополнительные сведения о драйвере CSI хранилища секретов и поставщике Azure Key Vault см. в обзоре драйвера CSI хранилища секретов.

Как расширение управляемого кластера Dapr сравнивается с предложением Dapr с открытым исходным кодом?

Управляемое расширение кластера Dapr — самый удобный способ развертывания Dapr в кластере AKS. С расширением вы можете отключить управление версией среды выполнения Dapr, выбрав автоматическое обновление. Кроме того, расширение устанавливает Dapr с оптимальными значениями по умолчанию (например, настройка управляющей плоскости Dapr в режиме высокой доступности системы).

При установке dapr open source с помощью helm или Dapr CLI разработчики и обслуживающие кластеры также отвечают за версии среды выполнения и параметры конфигурации.

Наконец, расширение Dapr является расширением AKS, поэтому вы можете ожидать ту же политику поддержки, что и другие функции AKS.

Дополнительные сведения о миграции с Dapr open source на расширение Dapr для AKS.

Как аутентифицировать компоненты Dapr с помощью Microsoft Entra ID и управляемых удостоверений?

Как перейти на использование расширения Dapr, если я уже установил Dapr через метод, например Helm?

Рекомендуется полностью удалить Dapr из кластера AKS и переустановить его с помощью расширения кластера. Вы также можете проверить наличие существующей установки Dapr и перенести ее в AKS.

Если установить Dapr через расширение AKS, мы рекомендуем продолжить использование расширения для дальнейшего управления Dapr вместо Dapr CLI. Параллельное использование этих двух инструментов может вызвать конфликты и привести к нежелательному поведению.

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