Настройка расширения Dapr для проекта Kubernetes с поддержкой Arc и Служба Azure Kubernetes (AKS)
После создания расширения Dapr можно настроить расширение Dapr для оптимальной работы проекта с помощью различных параметров конфигурации, таких как:
- Ограничение того, какие узлы используют расширение Dapr
- Настройка автоматических обновлений CRD
- Настройка пространства имен выпуска Dapr
Расширение позволяет задавать параметры конфигурации Dapr с помощью параметра --configuration-settings
. Например, чтобы подготовить Dapr с включенным высоким уровнем доступности, задайте для параметра global.ha.enabled
значение true
:
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2"
Примечание.
Если параметры конфигурации являются конфиденциальными и нуждаются в защите (например, сведения, связанные с сертификатом), передайте параметр --configuration-protected-settings
, чтобы защитить значение от считывания.
Если параметры конфигурации не передаются, по умолчанию конфигурация Dapr использует:
ha:
enabled: true
replicaCount: 3
disruption:
minimumAvailable: ""
maximumUnavailable: "25%"
prometheus:
enabled: true
port: 9090
mtls:
enabled: true
workloadCertTTL: 24h
allowedClockSkew: 15m
Список доступных параметров см. в разделе Конфигурация Dapr.
Ограничение расширения определенным узлам
В некоторых конфигурациях вам может потребоваться выполнять Dapr только на определенных узлах. Использование расширения можно ограничить, передав nodeSelector
в его конфигурации. Если нужный nodeSelector
содержит .
, вам нужно экранировать их из оболочки и расширения. Например, следующая конфигурация установит Dapr только на узлах с topology.kubernetes.io/zone: "us-east-1c"
:
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.nodeSelector.kubernetes\.io/zone: us-east-1c"
Для управления ОС и архитектурой используйте поддерживаемые версии конфигурации global.daprControlPlaneOs
и global.daprControlPlaneArch
:
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.daprControlPlaneOs=linux” \
--configuration-settings "global.daprControlPlaneArch=amd64”
Установка Dapr в нескольких зонах доступности в режиме высокой доступности
По умолчанию служба размещения использует класс хранилища типа standard_LRS
. Рекомендуется создать zone redundant storage class
во время установки Dapr в режиме высокой доступности в нескольких зонах доступности. Например, чтобы создать zrs
класс хранилища типов:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: custom-zone-redundant-storage
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
parameters:
storageaccounttype: Premium_ZRS
При установке Dapr используйте указанный выше класс хранилища:
az k8s-extension create --cluster-type managedClusters
--cluster-name XXX
--resource-group XXX
--name XXX
--extension-type Microsoft.Dapr
--auto-upgrade-minor-version XXX
--version XXX
--configuration-settings "dapr_placement.volumeclaims.storageClassName=custom-zone-redundant-storage"
Настройка пространства имен выпуска Dapr
Пространство имен выпуска можно настроить. Расширение Dapr устанавливается в dapr-system
пространстве имен по умолчанию. Чтобы переопределить его, используйте --release-namespace
. Включите кластер --scope
, чтобы переопределить пространство имен.
az k8s-extension create \
--cluster-type managedClusters \
--cluster-name dapr-aks \
--resource-group dapr-rg \
--name my-dapr-ext \
--extension-type microsoft.dapr \
--release-train stable \
--auto-upgrade false \
--version 1.9.2 \
--scope cluster \
--release-namespace dapr-custom
Узнайте, как настроить пространство имен выпуска Dapr, если вы уже установили Dapr.
Отображение текущих параметров конфигурации
Команда az k8s-extension show
позволяет отобразить текущие параметры конфигурации Dapr:
az k8s-extension show --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr
Обновление параметров конфигурации
Важно!
Некоторые параметры конфигурации нельзя изменить после создания. Для внесения изменений в них необходимо удалить и повторно создать расширение. Это применимо к следующим параметрам:
global.ha.*
dapr_placement.*
Высокий уровень доступности включен по умолчанию. При отключении его требуется удаление и восстановление расширения.
Чтобы обновить параметры конфигурации Dapr, повторно создайте расширение с нужным состоянием. Предположим, что расширение было ранее создано и установлено со следующей конфигурацией:
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2"
Чтобы изменить значение dapr_operator.replicaCount
с двух на три, используйте следующую команду:
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=3"
Настройка исходящего прокси-сервера для расширения Dapr для локальной среды Azure Arc
Если вы хотите использовать исходящий прокси-сервер с расширением Dapr для AKS, это можно сделать следующим образом:
- Настройка переменных среды прокси с помощью
dapr.io/env
заметок:HTTP_PROXY
HTTPS_PROXY
NO_PROXY
- Установка сертификата прокси-сервера в боковой плате.
Обновление версии установки Dapr
Если у вас есть определенная версия Dapr и у вас нет --auto-upgrade-minor-version
доступной, можно использовать следующую команду для обновления или понижения уровня Dapr:
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--version 1.12.0 # Version to upgrade or downgrade to
Предыдущая команда обновляет только плоскость управления Dapr. Чтобы обновить клиентские контейнеры Dapr, перезапустите развертывания приложений:
kubectl rollout restart deploy/<DEPLOYMENT-NAME>
Использование образов на основе Linux в Azure
В Dapr версии 1.8.0 можно использовать образы Linux Azure с расширением Dapr. Чтобы использовать их, задайтеglobal.tag
флаг:
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--set global.tag=1.10.0-mariner
- Узнайте больше об использовании образов на основе Маринера с Dapr.
- Дополнительные сведения о развертывании AzureLinux в AKS.
Отключение автоматических обновлений CRD
При использовании Dapr версии 1.9.2 crD автоматически обновляются при обновлении расширения. Чтобы отключить этот параметр, можно задать значение hooks.applyCrds
false
.
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--configuration-settings "hooks.applyCrds=false"
Примечание.
CRD применяются только в случае обновления и пропускаются во время понижения.
Выполнение требований к сети
Расширение Dapr для AKS и Arc для Kubernetes требует исходящих URL-адресов https://:443
для работы. https://mcr.microsoft.com/daprio
Помимо URL-адреса для извлечения артефактов Dapr, убедитесь, что вы включили исходящие URL-адреса, необходимые для AKS или Arc для Kubernetes.
Дальнейшие действия
После успешной подготовки Dapr в кластере AKS попробуйте развернуть пример приложения.