Partager via


Configurer l’extension Dapr spécifiquement pour votre projet AKS (Azure Kubernetes Service) et Kubernetes avec Arc

Après avoir terminé les prérequis pour installer l’extension Dapr, vous pouvez configurer l’extension Dapr afin qu’elle réponde au mieux à vos besoins et à ceux de votre projet à l’aide de différentes options de configuration, telles que :

  • Rotation des certificats arrivant à expiration
  • Approvisionnement de Dapr avec la haute disponibilité (HA) activée
  • Limitation des nœuds qui utilisent l’extension Dapr
  • Configuration des mises à jour automatiques des définitions de ressources personnalisées (CRD)
  • Configuration de l’espace de noms de version Dapr

L’extension vous permet de définir des options de configuration Dapr à l’aide du paramètre --configuration-settings dans Azure CLI ou de la propriété configurationSettings dans un modèle Bicep.

Important

Depuis le 30 novembre 2025, Azure Kubernetes Service (AKS) ne prend plus en charge ou fournit des mises à jour de sécurité pour Azure Linux 2.0. L’image de nœud Azure Linux 2.0 est figée à la version 202512.06.0. À compter du 31 mars 2026, les images de nœud seront supprimées et vous ne pourrez pas mettre à l’échelle vos pools de nœuds. Migrez vers une version Azure Linux prise en charge en mettant à niveau vos pools de nœuds vers une version Kubernetes prise en charge ou en migrant vers osSku AzureLinux3. Pour plus d’informations, consultez [Retrait] Pools de nœuds Azure Linux 2.0 sur AKS.

Mettre à jour les paramètres de configuration du système

Important

Certaines options de configuration ne peuvent pas être modifiées après la création. Les ajustements apportés à ces options nécessitent la suppression et la recréation de l’extension, applicables aux paramètres suivants :

  • global.ha.*
  • dapr_placement.*

La haute disponibilité est activée par défaut. Sa désactivation nécessite la suppression et la recréation de l’extension.

Pour mettre à jour vos paramètres de configuration Dapr, il vous suffit de recréer l’extension avec l’état souhaité. Par exemple, supposons que vous ayez précédemment créé et installé l’extension avec la configuration suivante :

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \  
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" 

Pour mettre à jour les dapr_operator.replicaCount de deux à trois, utilisez la commande suivante :

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=3"

Gérer les certificats mTLS

L’extension Dapr prend en charge le chiffrement en transit des communications entre les instances Dapr à l’aide du plan de contrôle du service Dapr Sentry, qui est une autorité de certification (CA) centrale. Avec le service Sentry, vous pouvez chiffrer les communications à l’aide de certificats x.509 auto-signés ou fournis par l’utilisateur. En savoir plus sur la configuration des certificats mTLS dans la documentation open source Dapr.

Vous pouvez utiliser vos propres certificats, ou laisser Dapr créer automatiquement et conserver des certificats racine et d’émetteur auto-signés.

Important

Si vous ne configurez pas explicitement les certificats, Dapr génère par défaut des certificats auto-signés, qui sont généralement valides pendant 1 an. Actuellement, il n’est pas recommandé d’utiliser des certificats auto-signés générés par Dapr. Les bonnes pratiques consistent à générer des certificats personnalisés et à les mettre à jour manuellement.

Gérer les certificats auto-signés générés par Dapr

Si vous n’avez fourni aucun certificat personnalisé, Dapr crée automatiquement et conserve des certificats auto-signés, valides pendant 1 an. L’extension Dapr installe le secret dapr-trust-bundle, qui contient des informations de certificat dans l’espace de noms dapr-system par défaut.

Vérifier la date d’expiration des certificats auto-signés actuels générés par Dapr

Vous pouvez vérifier la date d’expiration du certificat racine Dapr de votre cluster Kubernetes en utilisant l’interface de ligne de commande Dapr.

dapr mtls expiry

Sortie attendue :

Root certificate expires in 8759 hours. Expiry date: 2025-12-06 18:14:20 +0000 UTC

Vous pouvez également trouver la date d’expiration de votre certificat actuel dans les données du secret Kubernetes dapr-trust-bundle.

kubectl get secret dapr-trust-bundle -n dapr-system -o jsonpath='{.data.issuer\.crt}' | base64 -d | openssl x509 -noout -dates

Sortie attendue :

notBefore=Dec  6 17:59:20 2024 GMT
notAfter=Dec  6 18:14:20 2025 GMT

Générer un nouveau certificat auto-signé généré par Dapr

Gérer vos propres certificats x.509 fournis par l’utilisateur

Vous pouvez également utiliser vos propres certificats personnalisés.

Approvisionnement de Dapr avec la haute disponibilité (HA) activée

Approvisionnez Dapr avec la haute disponibilité (HA) activée en définissant le paramètre global.ha.enabled sur true.

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2"

Remarque

Si les paramètres de configuration sont sensibles et doivent être protégés (par exemple, des informations liées aux certificats), transmettez le paramètre --configuration-protected-settings et la valeur sera protégée contre la lecture.

Si aucun paramètre de configuration n’est transmis, la configuration Dapr par défaut est :

  ha:
    enabled: true
    replicaCount: 3
    disruption:
      minimumAvailable: ""
      maximumUnavailable: "25%"
  prometheus:
    enabled: true
    port: 9090
  mtls:
    enabled: true
    workloadCertTTL: 24h
    allowedClockSkew: 15m

Pour obtenir la liste des options disponibles, consultez Configuration Dapr.

Limitation de l’extension à certains nœuds

Dans certaines configurations, vous pouvez vouloir exécuter Dapr sur certains nœuds seulement. Vous pouvez limiter l’extension en transmettant un nodeSelector dans la configuration de l’extension. Si la valeur nodeSelector souhaitée contient le caractère ., vous devez le placer dans une séquence d’échappement dans l’interpréteur de commandes et l’extension. Par exemple, la configuration suivante installe Dapr uniquement sur les nœuds avec topology.kubernetes.io/zone: "us-east-1c" :

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.nodeSelector.kubernetes\.io/zone=us-east-1c"

Pour gérer le système d’exploitation et l’architecture, utilisez les versions prises en charge de la configuration global.daprControlPlaneOs et global.daprControlPlaneArch :

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.daprControlPlaneOs=linux" \
--configuration-settings "global.daprControlPlaneArch=amd64"

Installer Dapr dans plusieurs zones de disponibilité en mode haute disponibilité

Par défaut, le service de placement utilise une classe de stockage de type standard_LRS. Il est recommandé de créer une classe de stockage redondante interzone lors de l’installation de Dapr en mode HA sur plusieurs zones de disponibilité. Par exemple, pour créer une classe de stockage de type zrs, ajoutez le paramètre storageaccounttype :

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: custom-zone-redundant-storage
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
parameters:
  storageaccounttype: Premium_ZRS

Lors de l’installation de Dapr, utilisez la classe de stockage que vous avez utilisée dans le fichier YAML :

az k8s-extension create --cluster-type managedClusters  
--cluster-name XXX  
--resource-group XXX  
--name XXX  
--extension-type Microsoft.Dapr  
--auto-upgrade-minor-version XXX  
--version XXX  
--configuration-settings "dapr_placement.volumeclaims.storageClassName=custom-zone-redundant-storage"

Configurer l’espace de noms de version Dapr

Vous pouvez configurer l’espace de noms de la mise en production.

L’extension Dapr est installée dans l’espace de noms dapr-system par défaut. Pour le remplacer, utilisez --release-namespace. Pour redéfinir l’espace de noms, incluez le cluster --scope.

az k8s-extension create \
--cluster-type managedClusters \
--cluster-name dapr-aks \
--resource-group dapr-rg \
--name my-dapr-ext \
--extension-type microsoft.dapr \
--release-train stable \
--auto-upgrade false \
--version 1.9.2 \
--scope cluster \
--release-namespace dapr-custom

Découvrez comment configurer l’espace de noms de publication Dapr lors de la migration de Dapr open source vers l’extension Dapr.

Afficher les paramètres de configuration actuels

Utilisez la commande az k8s-extension show pour afficher les paramètres de configuration Dapr actuels :

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

Définir les niveaux de journal d’analyse Dapr

Vous pouvez configurer les paramètres du composant de surveillance Dapr avec votre extension de cluster AKS. Par exemple, pour mettre à jour les niveaux de journalisation dapr_monitoring sur « warn » (notification uniquement en cas d’avertissement ou d’erreur), définissez le configuration-settings suivant :

az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_monitoring.logLevel=warn"

Définir le proxy sortant pour l’extension Dapr pour Azure Arc local

Si vous souhaitez utiliser un proxy sortant avec l’extension Dapr pour AKS, vous pouvez le faire en procédant comme suit :

  1. Définition des variables d’environnement proxy à l’aide des annotations dapr.io/env :
    • HTTP_PROXY
    • HTTPS_PROXY
    • NO_PROXY
  2. Installez le certificat proxy dans le side-car.

Mise à jour de votre version d’installation Dapr

Si vous utilisez une version Dapr spécifique et que vous n’avez pas --auto-upgrade-minor-version disponible, vous pouvez utiliser la commande suivante pour mettre à niveau ou rétrograder Dapr :

az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--version 1.12.0 # Version to upgrade or downgrade to

La commande précédente met à jour le plan de contrôle Dapr uniquement. Pour mettre à jour les sidecars Dapr, redémarrez vos déploiements d’applications :

kubectl rollout restart deploy/<DEPLOYMENT-NAME>

Utilisation d’images basées sur Azure Linux

À partir de la version 1.8.0 de Dapr, vous pouvez utiliser des images Azure Linux avec l’extension Dapr. Pour les utiliser, définissez l’global.tagindicateur :

az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--set global.tag=1.10.0-mariner

Désactiver les mises à jour CRD automatiques

À partir de la version Dapr 1.9.2, les CRD sont automatiquement mises à niveau lorsque l’extension est mise à niveau. Pour désactiver ce paramètre, vous pouvez définir hooks.applyCrds sur false.

az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--configuration-settings "hooks.applyCrds=false"

Remarque

Les CRD sont appliqués uniquement en cas de mise à niveau et sont ignorés pendant les rétrogradations.

Répondre à la configuration réseau nécessaire

L’extension Dapr requiert les URL sortantes suivantes sur https://:443 pour fonctionner sur AKS et Arc pour Kubernetes :

  1. URL https://mcr.microsoft.com/daprio pour extraire les artefacts Dapr.
  2. Les URL sortantes requises pour AKS ou Arc pour Kubernetes.

Étapes suivantes