Estensione Dapr per il servizio Azure Kubernetes 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 Il servizio Azure Kubernetes o arc, 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
- Una sottoscrizione di Azure. Non ce l'hai? Crea un account gratuito.
- Installare la versione più recente dell'interfaccia della riga di comando di Azure.
- Se non è già disponibile, è necessario creare un cluster del servizio Azure Kubernetes o connettere un cluster Kubernetes abilitato per Arc.
- Assicurarsi di avere un ruolo di amministratore controllo degli accessi in base al ruolo del servizio Azure Kubernetes
Selezionare la modalità di installazione, distribuzione e configurazione dell'estensione Dapr.
Configurare l'estensione dell'interfaccia della riga di comando di Azure per le estensioni del cluster
Installare l’estensione dell'k8s-extension
interfaccia 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 KubernetesConfiguration
provider di risorse
Se le estensioni del cluster non sono state usate in precedenza, potrebbe essere necessario registrare il provider di risorse con la sottoscrizione. È possibile controllare lo stato della registrazione del provider usando il comando [az provider list][az-provider-list], come spiegato 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
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
Configurazione degli aggiornamenti automatici al piano di controllo Dapr
Avviso
È possibile abilitare gli aggiornamenti automatici al piano di controllo Dapr solo in ambienti di sviluppo o test. L'aggiornamento automatico non è adatto per gli ambienti di produzione.
Se si installa Dapr senza specificare una versione, --auto-upgrade-minor-version
viene 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
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.11.2:
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.11.2
Scelta di un training di rilascio
Quando si configura l'estensione, è possibile scegliere di installare Dapr da un particolare training di versione. Specificare uno dei due valori del training della versione:
Valore | Descrizione |
---|---|
stable |
Predefinito. |
dev |
Le versioni precedenti possono contenere funzionalità sperimentali. Non adatto per la produzione. |
Ad esempio:
--release-train stable
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, rimuovere semplicemente il modello Bicep.
Passaggi successivi
- Altre informazioni sulle impostazioni e le preferenze aggiuntive che è possibile impostare nell'estensione Dapr.
- Dopo aver eseguito il provisioning di Dapr nel cluster del servizio Azure Kubernetes, provare a distribuire un'applicazione di esempio.
- Provare Dapr Workflow nell'estensione Dapr per il servizio Azure Kubernetes