Installare l'estensione Dapr per il servizio Azure Kubernetes (AKS) e Kubernetes abilitato per Arc

Dapr semplifica la creazione di applicazioni resilienti, senza stato e con stato eseguite nel cloud e edge e adottano la diversità di linguaggi e framework di sviluppo. Grazie all'architettura sidecar di Dapr, è possibile mantenere indipendente la piattaforma del codice e affrontare le sfide relative alla creazione di microservizi, ad esempio:

  • Chiamata di altri servizi in modo affidabile e sicuro
  • Creazione di app basate su eventi con pub/sub
  • Compilazione di applicazioni portabili tra più servizi cloud e host (ad esempio, Kubernetes e una macchina virtuale)

Nota

Se si prevede di installare Dapr in un ambiente di produzione Kubernetes, vedere la pagina della documentazione relativa alle linee guida per l'utilizzo della produzione.

Funzionamento

L'estensione Dapr usa l'interfaccia della riga di comando di Azure o un modello Bicep per effettuare il provisioning del piano di controllo Dapr nel cluster Kubernetes abilitato per Arc o del servizio Azure Kubernetes, creando i servizi Dapr seguenti:

Servizio Dapr Descrizione
dapr-operator Gestisce gli aggiornamenti dei componenti e gli endpoint dei servizi Kubernetes per Dapr (archivi di stato, pub/sub e così via)
dapr-sidecar-injector Inserisce Dapr in pod di distribuzione con annotazioni e aggiunge le variabili DAPR_HTTP_PORT di ambiente e DAPR_GRPC_PORT per consentire alle applicazioni definite dall'utente di comunicare facilmente con Dapr senza valori di porta Dapr hardcoded.
dapr-placement Usato solo per gli attori. Crea tabelle di mapping che eseguono il mapping delle istanze dell'attore ai pod.
dapr-sentry Gestisce mTLS tra i servizi e funge da autorità di certificazione. Per altre informazioni, vedere la panoramica della sicurezza.

Dopo aver installato Dapr nel cluster, è possibile iniziare a sviluppare usando le API del blocco predefinito Dapr aggiungendo alcune annotazioni alle distribuzioni. Per una panoramica più approfondita delle API dei blocchi predefiniti e su come usarle al meglio, vedere la panoramica dei blocchi predefiniti dapr.

Avviso

Se si installa Dapr tramite l'estensione Kubernetes abilitato per Arc o il servizio Azure Kubernetes, è consigliabile continuare a usare l'estensione per la gestione futura di Dapr anziché l'interfaccia della riga di comando di Dapr. La combinazione dei due strumenti può causare conflitti e comportare comportamenti indesiderati.

Prerequisiti

Selezionare la modalità di installazione, distribuzione e configurazione dell'estensione Dapr.

Operazioni preliminari

Aggiungere l'estensione dell'interfaccia della riga di comando di Azure per le estensioni del cluster

Installare l’estensione dell'k8s-extensioninterfaccia della riga di comando di Azure eseguendo questi comandi:

az extension add --name k8s-extension

Se l'estensione k8s-extension è già installata, è possibile aggiornarla alla versione più recente usando il comando seguente:

az extension update --name k8s-extension

Registrare il provider di risorse KubernetesConfiguration

Se non si usano già estensioni del cluster, può essere necessario registrare il provider di risorse con la sottoscrizione. È possibile controllare lo stato di registrazione del provider usando il comando az provider list, come illustrato nell'esempio seguente:

az provider list --query "[?contains(namespace,'Microsoft.KubernetesConfiguration')]" -o table

Il provider Microsoft.KubernetesConfiguration deve essere contrassegnato come Registrato, come spiegato nell'output di esempio seguente:

Namespace                          RegistrationState    RegistrationPolicy
---------------------------------  -------------------  --------------------
Microsoft.KubernetesConfiguration  Registered           RegistrationRequired

Se il provider viene visualizzato come NotRegistered, registrare il provider usando az provider register come illustrato nell'esempio seguente:

az provider register --namespace Microsoft.KubernetesConfiguration

Registrare la funzionalità ExtenstionTypes nella sottoscrizione di Azure

La funzionalità ExtensionTypes deve essere registrata nella sottoscrizione di Azure. Nel terminale verificare di essere nella sottoscrizione corretta:

az account set --subscription <YOUR-AZURE-SUBSCRIPTION-ID>

Registrare la funzionalità ExtenstionTypes.

az feature registration create --namespace Microsoft.KubernetesConfiguration --name ExtensionTypes

La registrazione della funzionalità può richiedere del tempo. Dopo alcuni minuti, controllare lo stato della registrazione usando il comando seguente:

az feature show --namespace Microsoft.KubernetesConfiguration --name ExtensionTypes

Creare l'estensione e installare Dapr nel cluster Kubernetes abilitato per Arc o del servizio Azure Kubernetes

Quando si installa l'estensione Dapr, usare il valore del flag corrispondente al tipo di cluster:

  • Cluster del servizio Azure Kubernetes: --cluster-type managedClusters.
  • Cluster Kubernetes con abilitazione di Arc: --cluster-type connectedClusters.

Nota

Se si usa dapr OSS nel cluster del servizio Azure Kubernetes e si vuole installare l'estensione Dapr per il servizio Azure Kubernetes, leggere altre informazioni su come eseguire correttamente la migrazione all'estensione Dapr.

Creare l'estensione Dapr, che installa Dapr nel cluster Kubernetes abilitato per Il servizio Azure Kubernetes o per Arc.

Ad esempio, installare la versione più recente di Dapr tramite l'estensione Dapr nel cluster del servizio Azure Kubernetes:

az k8s-extension create --cluster-type managedClusters \
--cluster-name <myAKSCluster> \
--resource-group <myResourceGroup> \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false

Mantenere aggiornato il cluster del servizio Azure Kubernetes gestito all'ultima versione

In base all'ambiente (sviluppo, test o produzione), è possibile restare aggiornati alle ultime versioni di Dapr stabili.

Scelta di un training di rilascio

Quando si configura l'estensione, è possibile scegliere di installare Dapr da un particolare treno di rilasci. Specificare uno dei due valori del training della versione:

Valore Descrizione
stable Predefinito.
dev Le versioni preliminari possono contenere funzionalità sperimentali. Non adatto per la produzione.

Ad esempio:

--release-train stable

Configurazione degli aggiornamenti automatici al piano di controllo Dapr

Avviso

L'aggiornamento automatico non è adatto per gli ambienti di produzione. È possibile abilitare gli aggiornamenti automatici al piano di controllo Dapr solo in ambienti di sviluppo o test. Informazioni su come eseguire manualmente l'aggiornamento all'ultima versione di Dapr per gli ambienti di produzione.

Se si installa Dapr senza specificare una versione, --auto-upgrade-minor-versionviene abilitato automaticamente, configurando il piano di controllo Dapr per aggiornare automaticamente la versione secondaria nelle nuove versioni.

È possibile disabilitare l'aggiornamento automatico specificando il parametro --auto-upgrade-minor-version e impostando il valore su false.

Il controllo delle versioni di Dapr è in MAJOR.MINOR.PATCH formato, il che significa che da 1.11.0 a 1.12.0 è un aggiornamento della versione secondaria.

--auto-upgrade-minor-version true

Visualizzazione delle ultime versioni stabili di Dapr disponibili

Per eseguire l'aggiornamento all'ultima versione di Dapr in un ambiente di produzione, è necessario procedere manualmente. Per iniziare, visualizzare un elenco delle versioni di Dapr stabili disponibili per il cluster del servizio Azure Kubernetes gestito. Esegui questo comando:

az k8s-extension extension-types list-versions-by-cluster --resource-group <myResourceGroup> --cluster-name <myCluster> --cluster-type managedClusters --extension-type microsoft.dapr --release-train stable

Per visualizzare l'ultima versione stabile di Dapr disponibile per il cluster del servizio Azure Kubernetes gestito, eseguire il comando seguente:

az k8s-extension extension-types list-versions-by-cluster --resource-group <myResourceGroup> --cluster-name <myCluster> --cluster-type managedClusters --extension-type microsoft.dapr  --release-train stable --show-latest

Per visualizzare un elenco delle versioni di Dapr stabili disponibili in base alla posizione:

  1. Assicurarsi di aver registrato la funzionalità ExtenstionTypes nella sottoscrizione di Azure.
  2. Esegui il comando seguente:
az k8s-extension extension-types list-versions-by-location --location westus --extension-type microsoft.dapr

Aggiornare quindi manualmente Dapr all'ultima versione stabile.

Destinazione di una versione Dapr specifica

Nota

Dapr è supportato con una finestra in sequenza, incluse solo le versioni correnti e precedenti. È responsabilità operativa rimanere aggiornati con queste versioni supportate. Se si dispone di una versione precedente di Dapr, potrebbe essere necessario eseguire aggiornamenti intermedi per ottenere una versione supportata.

Lo stesso argomento della riga di comando viene usato per installare una versione specifica di Dapr o eseguire il rollback a una versione precedente. Impostare --auto-upgrade-minor-version su false e --version sulla versione di Dapr da installare. Se il parametro version viene omesso, l'estensione installa la versione più recente di Dapr. Ad esempio, per usare Dapr 1.13.5:

az k8s-extension create --cluster-type managedClusters \
--cluster-name <myAKSCluster> \
--resource-group <myResourceGroup> \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false \
--version 1.13.5

Risoluzione degli errori delle estensioni

Se l'estensione non riesce a creare o aggiornare, provare suggerimenti e soluzioni nella guida alla risoluzione dei problemi dell'estensione Dapr.

Risoluzione dei problemi relativi a Dapr

Risolvere gli errori Dapr tramite la Guida comune ai problemi e alle soluzioni dDapr.

Eliminare l'estensione

Se è necessario eliminare l'estensione e rimuovere Dapr dal cluster del servizio Azure Kubernetes, è possibile usare il comando seguente:

az k8s-extension delete --resource-group <myResourceGroup> --cluster-name <myAKSCluster> --cluster-type managedClusters --name dapr

In alternativa, è possibile rimuovere il modello Bicep.

Passaggi successivi