Share via


Dapr

Distributed Application Runtime (Dapr) propose des API qui vous aident à écrire et à implémenter des microservices simples, portables, résilients et sécurisés. L’exécution des API Dapr en tant que processus secondaires avec vos applications et font abstraction des complexités courantes que vous pouvez rencontrer lorsque vous créez des applications distribuées, dont :

  • Détection du service
  • Intégration du répartiteur de messages
  • Chiffrement
  • Observabilité
  • Gestion des secrets

Dapr est adoptable en incréments. Vous pouvez utiliser n’importe quel bloc de construction d’API, le cas échéant. Découvrez les offres Microsoft au niveau de support pour chaque API et composant Dapr.

Capacités et fonctionnalités

L’utilisation de l’extension Dapr pour approvisionner Dapr sur votre cluster Kubernetes AKS ou Arc élimine la surcharge de :

  • Téléchargement de l’outil Dapr
  • Installation et gestion manuelles du runtime Dapr sur votre cluster AKS

Vous pouvez installer, déployer et configurer l'extension Dapr sur votre cluster à l'aide d'Azure CLI ou d'un modèle Bicep.

En outre, l’extension assure la prise en charge de toutes les fonctionnalités de configuration Dapr natives à l’aide d’arguments de ligne de commande simples.

Dapr offre l’ensemble des capacités suivantes pour faciliter le développement de vos microservices sur AKS :

  • Approvisionnement facile de Dapr sur AKS grâce à des extensions de cluster
  • Portabilité assurée par les API HTTP et gRPC qui font abstraction des choix technologiques sous-jacents
  • Appels de service à service fiables, sécurisés et résilients via les API HTTP et gRPC
  • Messagerie publication-abonnement facilitée par la prise en charge du filtrage CloudEvent et de la sémantique « au moins une fois » pour la livraison des messages
  • Observabilité et surveillance enfichables grâce au collecteur de l’API Open Telemetry
  • Fonctionne indépendamment du langage, tout en offrant également des kits de développement logiciel spécifiques au langage (SDK)
  • Intégration à Visual Studio Code via l’extension Dapr
  • Plus d’API pour la résolution des problèmes liés aux applications distribuées

Actuellement pris en charge

L’extension Dapr est la seule option prise en charge par Microsoft pour Dapr dans AKS.

Gestion des problèmes

Microsoft classe les problèmes soulevés par rapport à l’extension Dapr en deux parties :

  • Opérations d’extension
  • Runtime Dapr (y compris les API et les composants)

Le tableau suivant décompose les niveaux de priorité de prise en charge pour chacune de ces catégories.

Description Risques/régressions de sécurité Problèmes fonctionnels
Opérations d’extension Problèmes rencontrés pendant les opérations d’extension, tels que l’installation/la désinstallation ou la mise à niveau de l’extension Dapr. Microsoft hiérarchise pour la résolution immédiate. Microsoft examine et traite les adresses en fonction des besoins.
Runtime Dapr Problèmes rencontrés lors de l’utilisation du runtime Dapr, des API et des composants via l’extension. Microsoft travaille avec la communauté open source pour examiner les problèmes de haute priorité. En fonction de la priorité, de la gravité et de la taille du problème, Microsoft les résout directement dans l’extension, ou fonctionne avec le projet open source Dapr pour résoudre dans un correctif logiciel ou une version ultérieure d’open source Dapr. Une fois les correctifs publiés dans Dapr open source, ils sont ensuite mis à disposition dans l’extension Dapr. Microsoft examine de nouveaux problèmes fonctionnels en même temps que le projet open source Dapr et collabore avec eux pour résoudre un correctif logiciel ou une prochaine version open source Dapr. Les problèmes fonctionnels open source connus ne seront pas examinés par Microsoft pour l’instant.

Versions de Dapr

Microsoft offre une prise en charge optimale pour la dernière version de Dapr et deux versions précédentes (N-2). La dernière version de correctif est la seule version prise en charge de chaque version mineure. Actuellement, l’extension Dapr pour AKS ou Kubernetes avec Arc prend en charge les versions Dapr suivantes :

  • 1.13.x
  • 1.12.x
  • 1.11.x

La prise en charge de l’extension Dapr varie en fonction de la façon dont vous gérez le runtime.

Autogérée

Le runtime autogéré doit être mis à niveau manuellement pour rester dans la fenêtre de support. Pour procéder à la mise à niveau de Dapr par l’extension, suivez les instructions de mise à jour de l’instance d’extension.

Une fois qu’une version du runtime Dapr a atteint la fin de la prise en charge de Microsoft, vos applications continuent à s’exécuter sans modification. Toutefois, Microsoft ne peut plus fournir de correctifs de sécurité ni de support client associé pour cette version du runtime. Si votre application rencontre des problèmes au-delà de la date de fin de prise en charge de cette version, nous recommandons la mise à niveau à une version prise en charge pour recevoir les derniers correctifs de sécurité et les dernières fonctionnalités.

Mise à niveau automatique

L’activation de la mise à niveau automatique nécessite une attention particulière. Bien que la mise à niveau automatique conserve votre extension Dapr mise à jour vers la dernière version mineure, vous pouvez rencontrer des changements cassants entre les mises à jour. Microsoft n’est responsable d’aucun temps d’arrêt dû à des changements cassants entre les mises à jour automatiques.

Composants et API

Vous pouvez utiliser tous les composants et API Dapr via l’extension Dapr, y compris celles de l’état alpha et bêta. Toutefois, Microsoft fournit uniquement la prise en charge d’un sous-ensemble d’API et de composants, en suivant les stratégies de gestion des problèmes définies.

API Dapr stables

L’extension Dapr prend en charge les versions stables des API Dapr (blocs de construction).

API Dapr Statut Description
Appel de service à service Stable Découvrez les services et effectuez des appels fiables et directs de service à service avec authentification et chiffrement automatiques mTLS.(#limitations)
Gestion de l’état Stable Fournit des capacités de gestion d'état pour les transactions et les opérations CRUD.
Publication/abonnement Stable Permet aux applications de l'éditeur et de l'abonné de communiquer entre elles via un courtier de messages intermédiaire. Vous pouvez également créer des abonnements déclaratifs à une rubrique à l’aide d’un fichier JSON de composant externe.
Liaisons Stable Déclenchez vos applications en fonction des événements.
Acteurs Stable Les intervenants Dapr sont pilotés par des messages, monothreads, unités de travail conçus pour effectuer une mise à l’échelle rapide. Par exemple, dans des situations de charge de travail volumineuses en rafale.
Observabilité Stable Envoyez des informations de suivi à un backend Application Insights.
Secrets Stable Accédez aux secrets de votre code d’application ou référencez des valeurs sécurisées dans vos composants Dapr.
Configuration Stable Récupérez et abonnez-vous aux éléments de configuration d’application pour la configuration pris en charge. de données.

Composants de niveau 1 et de niveau 2

Un sous-ensemble de composants Dapr est pris en charge pour l’extension Dapr pour AKS et Kubernetes avec Arc. Dans ce sous-ensemble, les composants Dapr sont divisés en deux catégories de prise en charge : niveau 1 ou niveau 2.

  • Composants de niveau 1 : composants stables qui reçoivent une investigation immédiate dans les scénarios critiques (de sécurité ou de régression grave). Dans le cas contraire, Microsoft collabore avec open source pour s’adresser à un correctif logiciel ou à la prochaine version régulière.
  • Composants de niveau 2 : composants examinés sur une priorité moindre, car ils ne sont pas dans un état stable ou sont avec un fournisseur tiers.
Composants de niveau 1
API Composant Type
Gestion de l’état Stockage Blob Azure v1
Azure Table Storage
Microsoft SQL Server
state.azure.blobstorage
state.azure.tablestorage
state.sqlserver
Publication et abonnement files d’attente Azure Service Bus
Rubriques Azure Service Bus
Azure Event Hubs
pubsub.azure.servicebus.queues
pubsub.azure.servicebus.topics
pubsub.azure.eventhubs
Liaison files d’attente de stockage Azure
files d’attente Azure Service Bus
Stockage Blob Azure
Azure Event Hubs
bindings.azure.storagequeues
bindings.azure.servicebusqueues
bindings.azure.blobstorage
bindings.azure.eventhubs
Composants de niveau 2
API Composant Type
Gestion de l’état Azure Cosmos DB
PostgreSQL
MySQL et MariaDB
Redis
state.azure.cosmosdb
state.postgresql
state.mysql
state.redis
Publication et abonnement Apache Kafka
Flux Redis
pubsub.kafka
pubsub.redis
Liaison Azure Event Grid
Azure Cosmos DB
Apache Kafka
PostgreSQL
Redis
Cron
bindings.azure.eventgrid
bindings.azure.cosmosdb
bindings.kafka
bindings.postgresql
bindings.redis
bindings.cron
Configuration PostgreSQL
Redis
bindings.postgresql
bindings.redis

Clouds/régions

Le nuage global Azure est pris en charge par Arc et AKS sur les régions suivantes :

Région Prise en charge d’AKS Prise en charge d’Arc pour Kubernetes
australiaeast ✔️ ✔️
australiasoutheast ✔️
brazilsouth ✔️
canadacentral ✔️ ✔️
canadaeast ✔️ ✔️
centralindia ✔️ ✔️
centralus ✔️ ✔️
eastasia ✔️ ✔️
eastus ✔️ ✔️
eastus2 ✔️ ✔️
eastus2euap ✔️
francecentral ✔️ ✔️
francesouth ✔️
germanywestcentral ✔️ ✔️
japaneast ✔️ ✔️
japanwest ✔️
koreacentral ✔️ ✔️
koreasouth ✔️
northcentralus ✔️ ✔️
northeurope ✔️ ✔️
norwayeast ✔️
southafricanorth ✔️
southcentralus ✔️ ✔️
southeastasia ✔️ ✔️
southindia ✔️
swedencentral ✔️ ✔️
switzerlandnorth ✔️ ✔️
uaenorth ✔️
uksouth ✔️ ✔️
ukwest ✔️
westcentralus ✔️ ✔️
westeurope ✔️ ✔️
westus ✔️ ✔️
westus2 ✔️ ✔️
westus3 ✔️ ✔️

Forum aux questions

Quelles sont les différences entre Dapr et les maillages de services ?

R : si un maillage de services est défini comme un maillage de services de mise en réseau, alors Dapr n’en est pas un. Bien que Dapr et les maillages de services offrent certaines capacités qui se chevauchent, un maillage de services est axé sur les préoccupations de mise en réseau, tandis que Dapr vise à fournir des modules qui permettent aux développeurs de créer plus facilement des applications sous forme de microservices. Dapr est centré sur le développeur, tandis que les maillages de services sont centrés sur l’infrastructure.

Voici quelques capacités communes à Dapr et aux maillages de services :

  • Communication sécurisée de service à service avec chiffrement mTLS
  • Collecte de métriques de service à service
  • Suivi distribué de service à service
  • Résilience grâce aux nouvelles tentatives

En outre, Dapr fournit d’autres modules au niveau de l’application pour la gestion de l’état, la messagerie publication-abonnement, les intervenants, etc. Toutefois, Dapr ne fournit pas de capacités pour le comportement du trafic, comme le routage ou la répartition du trafic. Si votre solution peut bénéficier de la répartition du trafic offerte par un maillage de services, envisagez d’utiliser Open Service Mesh.

Pour plus d’informations sur Dapr et les maillages de services, et sur la façon dont ils peuvent être utilisés ensemble, consultez la documentation de Dapr.

Quelles sont les différences entre l’API Dapr secrets et le pilote Secrets Store CSI ?

L’API Dapr secrets et le pilote Secrets Store CSI managé permettent tous deux d’intégrer des secrets détenus dans un magasin externe, en faisant abstraction de la technologie de magasin de secrets du code d’application. Le pilote Secrets Store CSI monte les secrets détenus dans Azure Key Vault sous la forme d’un volume CSI destiné à être consommé par une application. Dapr expose les secrets via une API RESTful qui peut être :

  • Appelé par code d’application
  • Configuré avec des magasins de secrets assortis

Le tableau suivant présente les capacités de chaque offre :

API Dapr secrets Pilote CSI du magasin de secrets
Magasins de secrets pris en charge Variables d’environnement locales (pour le développement) ; fichier local (pour le développement) ; secrets Kubernetes ; gestionnaire de secrets AWS ; magasin de secrets Azure Key Vault ; Azure Key Vault avec identités managées sur Kubernetes ; gestionnaire de secrets GCP ; coffre HashiCorp Magasin de secrets Azure Key Vault
Accès aux secrets dans le code d’application Appeler l’API Dapr secrets Accéder au volume monté ou au contenu monté synchronisé en tant que secret Kubernetes et définir une variable d’environnement
Rotation des secrets De nouveaux appels d’API permettent d’obtenir les secrets mis à jour Interroge les secrets et met à jour le montage à un intervalle configurable
Journalisation et métriques Le side-car Dapr génère des journaux, qui peuvent être configurés avec des collecteurs tels qu’Azure Monitor, émet des métriques via Prometheus et expose un point de terminaison HTTP pour les contrôles d’intégrité Émet des métriques du pilote et du fournisseur Azure Key Vault via Prometheus

Pour plus d’informations sur la gestion des secrets dans Dapr, consultez la vue d’ensemble de la gestion des secrets.

Pour plus d’informations sur le pilote Secrets Store CSI et le fournisseur Azure Key Vault, consultez la présentation du pilote Secrets Store CSI.

Quelles sont les différences entre l’extension de cluster Dapr managée et l’offre Dapr open source ?

L’extension de cluster Dapr managée est la méthode la plus simple pour approvisionner Dapr sur un cluster AKS. Grâce à cette extension, vous pouvez vous décharger de la gestion de la version du runtime Dapr en choisissant des mises à jour automatiques. De plus, l’extension installe Dapr avec des valeurs par défaut intelligentes (par exemple, l’approvisionnement du plan de contrôle de Dapr en mode haute disponibilité).

Lors de l’installation de Dapr open source via helm ou l’interface CLI Dapr, les développeurs et les responsables de la maintenance de cluster sont également responsables des versions du runtime et des options de configuration.

Enfin, l’extension Dapr est une extension d’AKS, vous pouvez donc vous attendre à la même stratégie de support que les autres fonctionnalités d’AKS.

En savoir plus sur la migration de Dapr open source vers l’extension Dapr pour AKS.

Comment puis-je authentifier des composants Dapr auprès de Microsoft Entra ID à l’aide d’identités managées ?

Comment passer à l’utilisation de l’extension Dapr si j’ai déjà installé Dapr à l’aide d’une méthode, par exemple Helm ?

Il est recommandé de désinstaller complètement Dapr du cluster AKS et de le réinstaller via l’extension du cluster.

Si vous installez Dapr par le biais de l’extension AKS, nous vous recommandons de continuer à utiliser l’extension pour la gestion future de Dapr au lieu de l’interface CLI Dapr. La combinaison des deux outils peut entraîner des conflits et un comportement indésirable.

Étapes suivantes

Après avoir découvert Dapr et certains des défis qu’il résout, essayez de déployer une application avec l’extension de cluster Dapr.