Extension Dapr pour Azure Kubernetes Service (AKS) et Kubernetes avec Arc

Dapr simplifie la création d’applications résilientes, sans état et avec état qui s’exécutent sur le cloud et à la périphérie, et qui englobent la diversité des langages et des frameworks de développement. Avec l’architecture sidecar de Dapr, vous pouvez conserver votre plateforme de code indépendante pour affronter les défis liés à la création de microservices, par exemple :

  • Appel d’autres services de manière fiable et sécurisée
  • Création d’applications pilotées par les événements avec pub/sub
  • Création d’applications portables sur plusieurs services et hôtes cloud (par exemple, Kubernetes et une machine virtuelle)

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 sur votre cluster AKS

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.

Notes

Si vous prévoyez d’installer Dapr dans un environnement de production Kubernetes, consultez la page de documentation Instructions Dapr pour une utilisation en production.

Fonctionnement

L’extension Dapr utilise l’interface de ligne de commande Azure pour approvisionner le plan de contrôle Dapr sur votre cluster Kubernetes compatible AKS ou Arc, en créant les services Dapr suivants :

Service Dapr Description
dapr-operator Gère les mises à jour des composants et les points de terminaison des services Kubernetes pour Dapr (stockages d’état, publications/abonnements, etc.)
dapr-sidecar-injector Injecte Dapr dans des pods de déploiement annotés et ajoute les variables d’environnement DAPR_HTTP_PORT et DAPR_GRPC_PORT pour permettre aux applications définies par l’utilisateur de communiquer facilement avec Dapr sans coder de manière irréversible les valeurs de port Dapr.
dapr-placement Utilisé uniquement pour les acteurs. Crée des tables de mappage qui mappent les instances d’acteurs à des pods.
dapr-sentry Gère mTLS entre les services et agit en tant qu’autorité de certification. Pour plus d’informations, consultez la vue d’ensemble de la sécurité.

Une fois Dapr installé sur votre cluster, vous pouvez commencer à développer à l’aide des API de bloc de construction Dapr en ajoutant quelques annotations à vos déploiements. Pour une présentation plus détaillée des API de bloc de construction et comment les utiliser au mieux, consultez la vue d’ensemble des blocs de construction Dapr.

Avertissement

Si vous installez Dapr par le biais de l’extension AKS ou Kubernetes avec Arc, 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.

Actuellement pris en charge

Versions de Dapr

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

Autogérée
Pour le runtime autogéré, l’extension Dapr prend en charge :

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.

Mise à niveau automatique
L’activation de la mise à niveau automatique permet de maintenir votre extension Dapr à jour avec la dernière version mineure. Vous pouvez rencontrer des changements cassants entre les mises à jour.

Composants

Les composants Azure + open source sont pris en charge. Les composants alpha et bêta sont pris en charge dans la mesure du possible.

Clouds/régions

Le nuage global Azure est pris en charge par l'Arc 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 ✔️ ✔️

Prérequis

Configurer l’extension Azure CLI pour les extensions de cluster

Installez l’extension k8s-extension Azure CLI en exécutant les commandes suivantes :

az extension add --name k8s-extension

Si l’extension k8s-extension est déjà installée, vous pouvez la mettre à jour vers la version la plus récente à l’aide de la commande suivante :

az extension update --name k8s-extension

Inscrire le fournisseur de services KubernetesConfiguration

Si vous n’avez pas encore utilisé d’extensions de cluster, vous devrez peut-être inscrire le fournisseur de services auprès de votre abonnement. Vous pouvez vérifier l’état de l’inscription du fournisseur à l’aide de la commande [az provider list][az-provider-list] comme dans l’exemple suivant :

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

Le fournisseur Microsoft.KubernetesConfiguration doit être signalé comme Registered (Inscrit) comme dans l’exemple de sortie suivant :

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

Si le fournisseur apparaît NotRegistered (Non-inscrit), inscrivez-le à l’aide de la commande az provider register comme dans l’exemple suivant :

az provider register --namespace Microsoft.KubernetesConfiguration

Créer l’extension et installer Dapr sur votre cluster AKS ou Kubernetes avec Arc

Lors de l’installation de l’extension Dapr, utilisez la valeur d’indicateur qui correspond à votre type de cluster :

  • Cluster AKS : --cluster-type managedClusters.
  • Cluster Kubernetes avec Arc : --cluster-type connectedClusters.

Notes

Si vous utilisez Dapr OSS sur votre cluster AKS et souhaitez installer l’extension Dapr pour AKS, découvrez comment migrer correctement vers l’extension Dapr.

Créez l’extension Dapr, qui installe Dapr sur votre cluster AKS ou Kubernetes avec Arc.

Par exemple, installez la dernière version de Dapr avec l’extension Dapr sur votre cluster AKS :

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

Ciblage d’une version spécifique de Dapr

Notes

Dapr est pris en charge avec une fenêtre dynamique, comprenant uniquement les versions actuelles et précédentes. Il est de votre responsabilité opérationnelle de rester à jour avec ces versions prises en charge. Si vous disposez d’une version antérieure de Dapr, vous devrez peut-être effectuer des mises à niveau intermédiaires pour obtenir une version prise en charge.

Le même argument de ligne de commande est utilisé pour installer une version spécifique de Dapr ou restaurer une version antérieure. Définissez --auto-upgrade-minor-version sur false et --version sur la version de Dapr que vous souhaitez installer. Si le paramètre version est omis, l’extension installe la dernière version de Dapr. Par exemple, pour utiliser Dapr X.X.X :

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

Configuration des mises à jour automatiques du plan de contrôle Dapr

Avertissement

Vous pouvez activer les mises à jour automatiques du plan de contrôle Dapr uniquement dans des environnements de développement ou de test. La mise à niveau automatique ne convient pas aux environnements de production.

Si vous installez Dapr sans spécifier de version, --auto-upgrade-minor-versionest automatiquement activé, configurant le plan de contrôle Dapr pour mettre à jour automatiquement sa version mineure sur les nouvelles versions. Vous pouvez désactiver la mise à jour automatique en spécifiant le paramètre --auto-upgrade-minor-version et en définissant la valeur sur false. Le versioning de Dapr est au format MAJOR.MINOR.PATCH, ce qui signifie que le passage de 1.11.0 à 1.12.0 est une mise à niveau de version mineure.

--auto-upgrade-minor-version true

Choix d’un train de mise en production

Lors de la configuration de l’extension, vous pouvez choisir d’installer Dapr à partir d’un --release-train particulier. Spécifiez l’une des deux valeurs de formation de mise en production :

Valeur Description
stable Par défaut.
dev Les versions préliminaires peuvent contenir des fonctionnalités expérimentales. Non adapté à la production.

Par exemple :

--release-train stable

Résolution des problèmes liés aux erreurs d’extension

Si la création ou la mise à jour de l’extension échoue, essayez les suggestions et solutions du Guide de résolution des problèmes de l’extension Dapr.

Résolution des problèmes liés à Dapr

Pour résoudre les erreurs rencontrées avec Dapr, reportez-vous au guide de résolution des problèmes courants liés à Dapr.

Supprimer l’extension

Si vous devez supprimer l’extension et retirer Dapr de votre cluster AKS, vous pouvez utiliser la commande suivante :

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

Étapes suivantes