Teilen über


Konfigurieren der Dapr-Erweiterung für Ihr Azure Kubernetes Service- (AKS) und Arc-fähiges Kubernetes-Projekt

Nachdem Sie die Voraussetzungen für die Installation der Dapr-Erweiterung geschaffen haben, können Sie die Dapr-Erweiterung mithilfe verschiedener Konfigurationsoptionen so konfigurieren, dass sie für Sie und Ihr Projekt optimal funktioniert, wie z. B:

  • Rotieren ablaufender Zertifikate
  • Bereitstellen von Dapr mit aktivierter Hochverfügbarkeit
  • Einschränken, welche Ihrer Knoten die Dapr-Erweiterung verwenden
  • Festlegen von automatischen Aktualisierungen der benutzerdefinierten Ressourcendefinition (Custom Resource Definition, CRD)
  • Konfigurieren des Namespaces des Dapr-Releases

Mit der Erweiterung können Sie Dapr-Konfigurationsoptionen mithilfe des --configuration-settings-Parameters in der Azure CLI oder configurationSettings-Eigenschaft einer Bicep-Vorlage festlegen.

Rotieren abgelaufener benutzerdefinierter Zertifikate

Sie können ablaufende Zertifikate aktualisieren und Ihre Systemdienste neu starten.

Wichtig

Wenn Sie Zertifikate nicht explizit konfigurieren, generiert Dapr standardmäßig selbstsignierte Zertifikate, die in der Regel ein Jahr gültig sind. Derzeit wird die Verwendung von selbstsignierten Zertifikaten, die von Dapr generiert werden, nicht empfohlen. Die bewährte Methode besteht darin, benutzerdefinierte Zertifikate zu generieren und manuell zu aktualisieren.

Generieren benutzerdefinierter Zertifikate

Erstellen Sie Ihr eigenes benutzerdefiniertes Zertifikat, beispielsweise ein Azure Key Vault-Zertifikat.

Manuelles Aktualisieren des benutzerdefinierten Zertifikats

Befolgen Sie die Anweisungen in der Open-Source-Dokumentation von Dapr, um Ihre benutzerdefinierten Zertifikate manuell mithilfe von Helm und kubectl zu aktualisieren.

Bereitstellen von Dapr mit aktivierter Hochverfügbarkeit

Stellen Sie Dapr mit aktivierter Hochverfügbarkeit (High Availability, HA) bereit, indem Sie den global.ha.enabled Parameter auf true festlegen.

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"

Hinweis

Wenn Konfigurationseinstellungen vertraulich sind und geschützt werden müssen, (z. B. zertifikatbezogene Informationen), übergeben Sie den --configuration-protected-settings-Parameter, und der Wert wird vor dem Lesen geschützt.

Wenn keine Konfigurationseinstellungen übergeben werden, ist die Dapr-Konfiguration standardmäßig wie die folgenden:

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

Eine Liste der verfügbaren Optionen finden Sie unter Dapr-Konfiguration.

Beschränkung der Erweiterung auf bestimmte Knoten

In einigen Konfigurationen möchten Sie Dapr möglicherweise nur auf bestimmten Knoten ausführen. Sie können die Erweiterung einschränken, indem Sie in der Erweiterungskonfiguration ein nodeSelector übergeben. Beachten Sie: Wenn das gewünschte nodeSelector eine . enthält, müssen Sie sie aus der Shell und der Erweiterung maskieren. Zum Beispiel installiert die folgende Konfiguration Dapr nur auf Knoten mit 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"

Verwenden Sie zum Verwalten von Betriebssystem und Architektur die unterstützten Versionen der global.daprControlPlaneOs- und global.daprControlPlaneArch-Konfiguration:

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”

Installieren von Dapr in mehreren Verfügbarkeitszonen im Hochverfügbarkeitsmodus

Standardmäßig verwendet der Platzierungsdienst eine Speicherklasse vom Typ standard_LRS. Es wird empfohlen, eine zonenredundante Speicherklasse zu erstellen, während Dapr im Hochverfügbarkeitsmodus über mehrere Verfügbarkeitszonen hinweg installiert wird. Um beispielsweise eine Speicherklasse vom Typ zrs zu erstellen, fügen Sie den storageaccounttype-Parameter hinzu:

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

Verwenden Sie bei der Installation von Dapr die Speicherklasse, die Sie in der YAML-Datei verwendet haben:

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"

Konfigurieren des Dapr-Releasenamespace

Sie können den Releasenamespace konfigurieren.

Die Dapr-Erweiterung wird standardmäßig im Namespace dapr-system installiert. Um ihn zu überschreiben, verwenden Sie --release-namespace. Um den Namespace neu zu definieren, schließen Sie den Cluster --scope ein.

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

Erfahren Sie, wie Sie den Dapr-Release-Namespace beim Migrieren von Dapr-Open Source zur Dapr-Erweiterung konfigurieren.

Zeigen Sie die aktuellen Konfigurationseinstellungen an

Verwenden Sie den az k8s-extension show Befehl, um die aktuellen Dapr-Konfigurationseinstellungen zu zeigen:

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

Konfigurationseinstellungen aktualisieren

Wichtig

Einige Konfigurationsoptionen können nach der Erstellung nicht mehr geändert werden. Anpassungen an diesen Optionen erfordern das Löschen und Neuerstellen der Erweiterung, was für die folgenden Einstellungen gilt:

  • global.ha.*
  • dapr_placement.*

Hochverfügbarkeit ist standardmäßig aktiviert. Wenn sie aktiviert wird, muss die Erweiterung gelöscht und neu erstellt werden.

Um Ihre Dapr-Konfigurationseinstellungen zu aktualisieren, erstellen Sie die Erweiterung mit dem gewünschten Status neu. Um Ihre Dapr-Konfigurationseinstellungen zu aktualisieren, erstellen Sie die Erweiterung mit dem gewünschten Status neu:

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" 

Verwenden Sie den folgenden Befehl, um das dapr_operator.replicaCount von zwei auf drei zu aktualisieren:

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"

Festlegen des ausgehenden Proxys der Dapr-Erweiterung für lokales Azure Arc

Wenn Sie einen ausgehenden Proxy mit der Dapr-Erweiterung für AKS verwenden möchten, können Sie das folgendermaßen tun:

  1. Legen Sie die Proxy-Umgebungsvariablen mithilfe der dapr.io/env-Anmerkungen fest:
    • HTTP_PROXY
    • HTTPS_PROXY
    • NO_PROXY
  2. Installieren des Proxyzertifikats im Sidecar.

Aktualisieren Ihrer installierten Dapr-Version

Wenn Sie eine bestimmte Dapr-Version verwenden und nicht über --auto-upgrade-minor-version verfügen, können Sie den folgenden Befehl zum Upgrade oder Downgrade von Dapr verwenden:

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

Der obige Befehl aktualisiert nur die Dapr-Steuerungsebene. Um die Dapr-Sidecars zu aktualisieren, starten Sie Ihre Anwendungsbereitstellungen neu:

kubectl rollout restart deploy/<DEPLOYMENT-NAME>

Verwenden von Azure Linux-basierten Images

Ab Dapr Version 1.8.0 können Sie Azure Linux-Images mit der Dapr-Erweiterung verwenden. Für die Verwendung legen Sie das Flag global.tag fest:

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

Deaktivieren automatischer CRD-Updates

Ab Dapr-Version 1.9.2 erfolgt für CRDs automatisch ein Upgrade, wenn für die Erweiterung ein Upgrade erfolgt. Um diese Einstellung zu deaktivieren, können Sie hooks.applyCrds auf false festlegen.

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

Hinweis

CRDs werden nur bei Upgrades angewendet und bei Downgrades übersprungen.

Erfüllen von Netzwerkanforderungen

Die Dapr-Erweiterung für AKS und Arc für Kubernetes erfordert die folgenden ausgehenden URLs auf https://:443, um zu funktionieren:

  1. https://mcr.microsoft.com/daprio-URL zum Pullen von Dapr-Artefakten.
  2. Die ausgehenden URLs, die für AKS oder Arc für Kubernetes erforderlich sind.

Nächste Schritte