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
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