Configurar a extensão do Dapr para seu projeto do AKS (Serviço de Kubernetes do Azure) e do Kubernetes habilitado para Arc
Depois de completar os pré-requisitos para instalação da 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:
- Rotação de certificados expirando
- Provisionamento do Dapr com alta disponibilidade (HA) habilitada
- Limite dos nós que usam a extensão do Dapr
- Configurando atualizações automáticas de definição de recursos customizados (CRD)
- Configuração do namespace da versão do Dapr
A extensão permite definir opções de configuração de Dapr usando o parâmetro --configuration-settings
na CLI do Azure ou a propriedade configurationSettings
em um modelo Bicep.
Girar certificados personalizados expirados
Você pode atualizar certificados expirados e reiniciar os serviços do sistema.
Importante
Se você não configurar certificados explicitamente, o Dapr usará como padrão a geração de certificados autoassinados, que geralmente são válidos por 1 ano. Atualmente, não é recomendável usar certificados autoassinados gerados pelo Dapr. A melhor prática é gerar certificados personalizados e atualizá-los manualmente.
Gerar certificados personalizados
Crie seu próprio certificado personalizado, por exemplo, um certificado do Azure Key Vault.
Atualizar seu certificado personalizado manualmente
Siga as instruções fornecidas na documentação de software livre do Dapr para atualizar seus certificados personalizados manualmente usando Helm e kubectl
.
Provisionar o Dapr com alta disponibilidade (HA) habilitada
Provisionar o Dapr com alta disponibilidade (HA) habilitada definindo o parâmetro global.ha.enabled
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"
Observação
Se as definições de configuração forem confidenciais e precisarem ser protegidas (por exemplo, informações relacionadas ao certificado), passe o parâmetro --configuration-protected-settings
e o valor será protegido contra leitura.
Se nenhuma configuração for passada, a configuração do Dapr usa como padrão:
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 das opções disponíveis, consulte configuração do Dapr.
Limite a extensão a determinados nós
Em algumas configurações, você só pode executar Dapr em determinados nós. Você pode limitar a extensão passando uma nodeSelector
na configuração de extensão. Se o nodeSelector
desejado contiver .
, você deverá usar barra invertida (\) no shell e na extensão. Por exemplo, a configuração a seguir instalará o Dapr somente nos 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 arquitetura, use as versões com suporte das configurações global.daprControlPlaneOs
e 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”
Instale o Dapr em várias zonas de disponibilidade enquanto estiver no modo de alta disponibilidade
Por padrão, o serviço de posicionamento usa uma classe de armazenamento do tipo standard_LRS
. É recomendado criar uma classe de armazenamento redundante de zona ao instalar o Dapr no modo HA em várias zonas de disponibilidade. Por exemplo, para criar uma classe de armazenamento de tipo zrs
, adicione o parâmetro storageaccounttype
:
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 do Dapr
Você pode configurar o namespace da versão.
A extensão do Dapr é instalada no namespace dapr-system
por padrão. Para substituí-la, use --release-namespace
. Para redefinir o namespace, inclua o cluster --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
Mostrar definições de configuração atuais
Use o comando az k8s-extension show
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 alta disponibilidade está habilitada por padrão. A desabilitação exige a exclusão e a recriação da extensão.
Para atualizar as definições de configuração do Dapr, basta recriar a extensão com o estado desejado. Por exemplo, digamos que você criou e instalou anteriormente 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 de dapr_operator.replicaCount
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, poderá fazê-lo ao:
- Definir as variáveis de ambiente de proxy usando as anotações
dapr.io/env
:HTTP_PROXY
HTTPS_PROXY
NO_PROXY
- Instalar o certificado de proxy no sidecar.
Atualizando sua 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 do Dapr. Para atualizar os sidecars do Dapr, reinicie suas implantações de aplicativo:
kubectl rollout restart deploy/<DEPLOYMENT-NAME>
Usando imagens baseadas em Linux do Azure
No Dapr versão 1.8.0, você pode usar imagens do Azure Linux com a extensão Dapr. Para usá-los, defina o sinalizador global.tag
:
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 no Mariner com o Dapr.
- Saiba mais sobre como implantar o Azure Linux no AKS.
Desabilitar atualizações automáticas de CRD
A partir do Dapr versão 1.9.2, os CRDs são atualizados automaticamente quando a extensão é atualizada. Para desabilitar 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"
Observação
Os CRDs são aplicados somente em caso de atualizações e são ignorados durante a realização de downgrades.
Atender aos requisitos de rede
A extensão Dapr requer os seguintes URLs de saída em https://:443
para funcionar em AKS e Arc for Kubernetes:
https://mcr.microsoft.com/daprio
URL para efetuar pull de artefatos Dapr.- As URLs de saída necessárias para AKS ou Arc para Kubernetes.
Próximas etapas
Azure Kubernetes Service