Configure a extensão Dapr para seu serviço Kubernetes do Azure (AKS) e projeto Kubernetes habilitado para Arc
Depois de criar a extensão Dapr, você pode configurar a extensão Dapr para funcionar melhor para você e seu projeto usando várias opções de configuração, como:
- Limitando quais dos seus nós usam a extensão Dapr
- Definindo atualizações automáticas de CRD
- Configurando o namespace da versão Dapr
A extensão permite definir opções de configuração do Dapr usando o --configuration-settings
parâmetro na CLI do Azure ou configurationSettings
a propriedade em um modelo Bicep.
Provisionar Dapr com alta disponibilidade (HA) habilitada
Provisione o Dapr com alta disponibilidade (HA) habilitado definindo o global.ha.enabled
parâmetro como 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"
Nota
Se as definições de configuração forem confidenciais e precisarem ser protegidas (por exemplo, informações relacionadas ao certificado), passe o --configuration-protected-settings
parâmetro e o valor será protegido contra leitura.
Se nenhuma definição de configuração for aprovada, o padrão de configuração do Dapr será:
ha:
enabled: true
replicaCount: 3
disruption:
minimumAvailable: ""
maximumUnavailable: "25%"
prometheus:
enabled: true
port: 9090
mtls:
enabled: true
workloadCertTTL: 24h
allowedClockSkew: 15m
Para obter uma lista de opções disponíveis, consulte Configuração do Dapr.
Limitar a extensão a determinados nós
Em algumas configurações, você pode querer executar o Dapr apenas em determinados nós. Você pode limitar a extensão passando um nodeSelector
na configuração da extensão. Se o desejado nodeSelector
contiver .
, você deve escapar deles do shell e da extensão. Por exemplo, a configuração a seguir instala o Dapr somente em nós com 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"
Para gerenciar o sistema operacional e a global.daprControlPlaneOs
arquitetura, use as versões suportadas do e global.daprControlPlaneArch
configuração:
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”
Instale o Dapr em várias zonas de disponibilidade enquanto estiver no modo HA
Por padrão, o serviço de posicionamento usa uma classe de armazenamento do tipo standard_LRS
. É recomendável criar uma classe de armazenamento redundante de zona durante a instalação do Dapr no modo HA em várias zonas de disponibilidade. Por exemplo, para criar uma zrs
classe de armazenamento de tipo, adicione o storageaccounttype
parâmetro:
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
Ao instalar o Dapr, use a classe de armazenamento usada no arquivo YAML:
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"
Configurar o namespace da versão Dapr
Você pode configurar o namespace de versão.
A extensão Dapr é instalada no dapr-system
namespace por padrão. Para substituí-lo, use --release-namespace
. Inclua o cluster --scope
para redefinir o namespace.
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
Saiba como configurar o namespace de versão do Dapr se você já tiver o Dapr instalado.
Mostrar definições de configuração atuais
Use o az k8s-extension show
comando para mostrar as definições de configuração atuais do Dapr:
az k8s-extension show --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr
Atualizar definições de configuração
Importante
Algumas opções de configuração não podem ser modificadas após a criação. Os ajustes nessas opções exigem a exclusão e a recriação da extensão, aplicável às seguintes configurações:
global.ha.*
dapr_placement.*
A HA está habilitada por padrão. Desativá-lo requer exclusão e recriação da extensão.
Para atualizar as definições de configuração do Dapr, recrie a extensão com o estado desejado. Por exemplo, suponha que já criamos e instalamos a extensão usando a seguinte configuração:
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"
Para atualizar o dapr_operator.replicaCount
de dois para três, use o seguinte comando:
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"
Definir o proxy de saída para a extensão Dapr para o Azure Arc local
Se você quiser usar um proxy de saída com a extensão Dapr para AKS, você pode fazê-lo ao:
- Definindo as variáveis de ambiente de proxy usando as
dapr.io/env
anotações:HTTP_PROXY
HTTPS_PROXY
NO_PROXY
- Instalando o certificado de proxy no sidecar.
Atualizando a versão de instalação do Dapr
Se você estiver em uma versão específica do Dapr e não tiver --auto-upgrade-minor-version
disponível, poderá usar o seguinte comando para atualizar ou fazer downgrade do 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
O comando anterior atualiza apenas o plano de controle Dapr. Para atualizar os sidecars do Dapr, reinicie as implantações do aplicativo:
kubectl rollout restart deploy/<DEPLOYMENT-NAME>
Usando imagens baseadas em Linux do Azure
A partir da versão 1.8.0 do Dapr, você pode usar imagens do Azure Linux com a extensão Dapr. Para usá-los, defina o global.tag
sinalizador:
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--set global.tag=1.10.0-mariner
- Saiba mais sobre como usar imagens baseadas em Mariner com o Dapr.
- Saiba mais sobre como implantar o Azure Linux no AKS.
Desativar atualizações automáticas de CRD
A partir da versão 1.9.2 do Dapr, os CRDs são atualizados automaticamente quando a extensão é atualizada. Para desativar essa configuração, você pode definir hooks.applyCrds
como false
.
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--configuration-settings "hooks.applyCrds=false"
Nota
Os CRDs só são aplicados em caso de upgrades e são ignorados durante downgrades.
Atender aos requisitos de rede
A extensão Dapr para AKS e Arc para Kubernetes requer as seguintes URLs de saída para https://:443
funcionar:
https://mcr.microsoft.com/daprio
URL para extrair artefatos Dapr.https://linuxgeneva-microsoft.azurecr.io/
URL para extrair algumas dependências do Dapr.- As URLs de saída necessárias para AKS ou Arc para Kubernetes.
Passos Seguintes
Depois de provisionar com êxito o Dapr em seu cluster AKS, tente implantar um aplicativo de exemplo.