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
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:
- Legen Sie die Proxy-Umgebungsvariablen mithilfe der
dapr.io/env
-Anmerkungen fest:HTTP_PROXY
HTTPS_PROXY
NO_PROXY
- 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
- Erfahren Sie mehr über die Verwendung Mariner-basierter Images mit Dapr.
- Erfahren Sie mehr über die Bereitstellung von Azure Linux in AKS.
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:
https://mcr.microsoft.com/daprio
-URL zum Pullen von Dapr-Artefakten.- Die ausgehenden URLs, die für AKS oder Arc für Kubernetes erforderlich sind.
Nächste Schritte
Azure Kubernetes Service