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.
Gestire i certificati mTLS
L'estensione Dapr supporta la crittografia in transito della comunicazione tra istanze dapr usando il piano di controllo del servizio Dapr Sentry, ovvero un'autorità di certificazione centrale. Con il servizio Sentry è possibile crittografare la comunicazione usando certificati x.509 autofirmati o forniti dall'utente. Altre informazioni sulla configurazione dei certificati mTLS sono disponibili nella documentazione di Dapr open source.
È possibile inserire certificati personalizzati o consentire a Dapr di creare e rendere persistenti automaticamente i certificati radice e autorità di certificazione autofirmato.
Importante
Se non si configurano in modo esplicito i certificati, 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.
Gestire i certificati autofirmati generati da Dapr
Se non sono stati forniti certificati personalizzati, Dapr crea e mantiene automaticamente i certificati autofirmato, validi per 1 anno. L'estensione Dapr installa il dapr-trust-bundle
segreto, che contiene informazioni sul certificato nello spazio dei nomi predefinito dapr-system
.
Controllare la scadenza dei certificati autofirmati generati daPr correnti
È possibile verificare quando scade il certificato radice Dapr del cluster Kubernetes usando l'interfaccia della riga di comando di Dapr.
dapr mtls expiry
Output previsto:
Root certificate expires in 8759 hours. Expiry date: 2025-12-06 18:14:20 +0000 UTC
È anche possibile trovare la data di scadenza per il certificato corrente nei dati del segreto Kubernetes dapr-trust-bundle
.
kubectl get secret dapr-trust-bundle -n dapr-system -o jsonpath='{.data.issuer\.crt}' | base64 -d | openssl x509 -noout -dates
Output previsto:
notBefore=Dec 6 17:59:20 2024 GMT
notAfter=Dec 6 18:14:20 2025 GMT
Generare un nuovo certificato autofirmato generato da Dapr
- Tramite l'interfaccia della riga di comando di Dapr (scelta consigliata)
Fare riferimento all'aggiornamento del certificato radice e dell'autorità emittente di Dapr tramite la guida dell'interfaccia della riga di comando . - Tramite
kubectl
i comandi Fare riferimento ai certificati radice o autorità di certificazione aggiornando dapr usando la guida di Kubectl .
Gestire i certificati x.509 forniti dall'utente
È anche possibile usare certificati personalizzati.
- 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 usandokubectl
.
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
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:
- Impostazione delle variabili di ambiente proxy usando le
dapr.io/env
annotazioni:HTTP_PROXY
HTTPS_PROXY
NO_PROXY
- 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
- Altre informazioni sull'uso di immagini basate su Mariner con Dapr.
- Altre informazioni sulla distribuzione di Azure Linux nel servizio Azure Kubernetes.
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:
https://mcr.microsoft.com/daprio
URL per il pull degli artefatti Dapr.- Gli URL in uscita necessari per il servizio Azure Kubernetes o Arc.
Passaggi successivi
Azure Kubernetes Service