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 :
- La dernière version de Dapr et 2 versions précédentes (N-2)
- Mise à niveau incrémentielle de la version mineure (par exemple, 1.5 -> 1.6 -> 1.7)
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
- Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
- Installez la dernière version d’Azure CLI.
- Si vous n’avez pas encore de cluster AKS, vous devez en créer un ou connecter un cluster Kubernetes avec Arc.
- Vérifiez que vous disposez d’un rôle de Administration RBAC Azure Kubernetes Service
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-version
est 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
- En savoir plus sur les paramètres et préférences supplémentaires que vous pouvez définir sur l’extension Dapr.
- Une fois que vous avez provisionné Dapr dans votre cluster AKS, essayez de déployer un exemple d’application.
- Essayez Dapr Workflow sur votre extension Dapr pour AKS