Configurare l'estensione Dapr in modo specifico per il servizio Azure Kubernetes (AKS) e il progetto Kubernetes abilitato per Arc

Dopo aver completato i prerequisiti per l'installazione dell'estensione Dapr, è possibile configurare l'estensione Dapr in modo che funzioni al meglio per l'utente e il progetto usando varie opzioni di configurazione, ad esempio:

  • Rotazione dei certificati in scadenza
  • Provisioning di Dapr con disponibilità elevata abilitata
  • Limitazione di quali nodi usano l'estensione Dapr
  • Impostazione degli aggiornamenti automatici delle definizioni di risorse personalizzate
  • Configurazione dello spazio dei nomi della versione Dapr

L'estensione consente di impostare le opzioni di configurazione Dapr usando il parametro --configuration-settings nell'interfaccia della riga di comando di Azure o la proprietà configurationSettings in un modello Bicep.

Ruotare i certificati personalizzati scaduti

È possibile aggiornare i certificati in scadenza e riavviare i servizi di sistema.

Importante

Se non si configurano i certificati in modo esplicito, per impostazione predefinita Dapr genera certificati autofirmati, che in genere sono validi per 1 anno. Attualmente, l'uso di certificati autofirmati generati da Dapr non è consigliato. La procedura consigliata consiste nel generare certificati personalizzati e aggiornarli manualmente.

Generare certificati personalizzati

Creare un certificato personalizzato; Ad esempio, un certificato di Azure Key Vault.

Aggiornare manualmente il certificato personalizzato

Seguire le istruzioni fornite nella documentazione open source di Dapr per aggiornare manualmente i certificati personalizzati usando Helm e kubectl.

Effettuare il provisioning di Dapr con disponibilità elevata abilitata

Effettuare il provisioning di Dapr con disponibilità elevata abilitata impostando il parametro global.ha.enabled su 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 le impostazioni di configurazione sono sensibili e devono essere protette, ad esempio le informazioni correlate al certificato, passare il parametro --configuration-protected-settings e il valore sarà protetto dalla lettura.

Se non vengono passate impostazioni di configurazione, per impostazione predefinita la configurazione di Dapr è:

  ha:
    enabled: true
    replicaCount: 3
    disruption:
      minimumAvailable: ""
      maximumUnavailable: "25%"
  prometheus:
    enabled: true
    port: 9090
  mtls:
    enabled: true
    workloadCertTTL: 24h
    allowedClockSkew: 15m

Per un elenco delle opzioni disponibili, vedere Configurazione di Dapr.

Limitare l'estensione a determinati nodi

In alcune configurazioni, è possibile eseguire Dapr solo in determinati nodi. È possibile limitare l'estensione passando una nodeSelector nella configurazione dell'estensione. Se l'oggetto desiderato nodeSelector contiene ., è necessario eseguirne l'escape dalla shell e dall'estensione. Ad esempio, la configurazione seguente installa Dapr solo nei nodi con 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"

Per la gestione del sistema operativo e dell'architettura, usare le versioni supportate della configurazione 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”

Installare Dapr in più zone di disponibilità in modalità a disponibilità elevata

Per impostazione predefinita, il servizio di posizionamento usa una classe di archiviazione di tipo standard_LRS. È consigliabile creare una classe di archiviazione con ridondanza della zona durante l'installazione di Dapr in modalità a disponibilità elevata in più zone di disponibilità. Ad esempio, per creare una classe di archiviazione dei tipi zrs, aggiungere il parametro 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

Quando si installa Dapr, usare la classe di archiviazione usata nel file 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"

Configurare lo spazio dei nomi della versione Dapr

È possibile configurare lo spazio dei nomi della versione.

L'estensione Dapr viene installata nello spazio dei dapr-system nomi per impostazione predefinita. Per eseguirne l'override, usare --release-namespace. Per ridefinire lo spazio dei nomi, includere il 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

Informazioni su come configurare lo spazio dei nomi della versione Dapr durante la migrazione da Dapr open source all'estensione Dapr.

Mostra le impostazioni di configurazione correnti

Usare il comando az k8s-extension show per visualizzare le impostazioni di configurazione dapr correnti:

az k8s-extension show --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr

Aggiornare impostazioni di configurazione

Importante

Alcune opzioni di configurazione non possono essere modificate dopo la creazione. Le modifiche apportate a queste opzioni richiedono l'eliminazione e la ricreazione dell'estensione, applicabili alle impostazioni seguenti:

  • global.ha.*
  • dapr_placement.*

Disponibilità elevata è abilitato per impostazione predefinita. La disabilitazione richiede l'eliminazione e la ricreazione dell'estensione.

Per aggiornare le impostazioni di configurazione di Dapr, ricreare l'estensione con lo stato desiderato. Si supponga, ad esempio, di aver creato e installato in precedenza l'estensione usando la configurazione seguente:

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" 

Per aggiornare dapr_operator.replicaCount da due a tre, usare il comando seguente:

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"

Impostare il proxy in uscita per l'estensione Dapr per Azure Arc locale

Se si vuole usare un proxy in uscita con l'estensione Dapr per il servizio Azure Kubernetes, è possibile eseguire questa operazione:

  1. Impostazione delle variabili di ambiente proxy usando le dapr.io/env annotazioni:
    • HTTP_PROXY
    • HTTPS_PROXY
    • NO_PROXY
  2. Installazione del certificato proxy nel sidecar.

Aggiornamento della versione di installazione di Dapr

Se si usa una versione dapr specifica e non si dispone di --auto-upgrade-minor-version disponibili, è possibile usare il comando seguente per aggiornare o effettuare il downgrade di 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

Il comando precedente aggiorna solo il piano di controllo Dapr. Per aggiornare i sidecar Dapr, riavviare le distribuzioni dell'applicazione:

kubectl rollout restart deploy/<DEPLOYMENT-NAME>

Uso di immagini basate su Linux di Azure

Dapr versione 1.8.0 è possibile usare immagini Linux di Azure con l'estensione Dapr. Per usarli, impostare il flag global.tag:

az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--set global.tag=1.10.0-mariner

Disabilitare gli aggiornamenti CRD automatici

A partire da Dapr versione 1.9.2, i CRL vengono aggiornati automaticamente quando l'estensione viene aggiornata. Per disabilitare questa impostazione, è possibile impostare hooks.applyCrds su false.

az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--configuration-settings "hooks.applyCrds=false"

Nota

I CRL vengono applicati solo in caso di aggiornamenti e vengono ignorati durante i downgrade.

Soddisfare i requisiti di rete

L'estensione Dapr per il servizio Azure Kubernetes e Arc per Kubernetes richiede che i seguenti URL siano impostati su https://:443 in uscita:

  1. https://mcr.microsoft.com/daprio URL per il pull degli artefatti Dapr.
  2. Gli URL in uscita necessari per il servizio Azure Kubernetes o Arc.

Passaggi successivi