Udostępnij przez


Konfiguracja rozszerzenia Dapr dla Azure Kubernetes Service (AKS) oraz dla Kubernetes z obsługą Arc

Po spełnieniu wymagań wstępnych dotyczących instalowania rozszerzenia Dapr można skonfigurować rozszerzenie Dapr , aby działało najlepiej dla Ciebie i projektu przy użyciu różnych opcji konfiguracji, takich jak:

  • Rotacja wygasających certyfikatów
  • Konfigurowanie Dapr z włączoną wysoką dostępnością
  • Ograniczanie używania rozszerzenia Dapr przez poszczególne węzły
  • Ustawianie automatycznych aktualizacji definicji zasobów niestandardowych (CRD)
  • Konfigurowanie przestrzeni nazw wydania Dapr

Rozszerzenie umożliwia ustawienie opcji konfiguracji Dapr przy użyciu parametru --configuration-settings w interfejsie wiersza polecenia Azure lub właściwości configurationSettings w szablonie Bicep.

Important

Od 30 listopada 2025 r. usługa Azure Kubernetes Service (AKS) nie obsługuje już ani nie zapewnia aktualizacji zabezpieczeń dla systemu Azure Linux 2.0. Obraz węzła systemu Linux 2.0 platformy Azure został zamrożony w wersji 202512.06.0. Od 31 marca 2026 r. obrazy węzłów zostaną usunięte i nie będzie można skalować pul węzłów. Przeprowadź migrację do obsługiwanej wersji systemu Linux platformy Azure, uaktualniając pule węzłów do obsługiwanej wersji rozwiązania Kubernetes lub migrując do systemu osSku AzureLinux3. Aby uzyskać więcej informacji, zobacz [Wycofywanie] pul węzłów Azure Linux 2.0 w usłudze AKS.

Aktualizowanie ustawień konfiguracji

Important

Niektórych opcji konfiguracji nie można zmodyfikować po utworzeniu. Korekty tych opcji wymagają usunięcia i odtworzenia rozszerzenia, które ma zastosowanie do następujących ustawień:

  • global.ha.*
  • dapr_placement.*

Wysoka dostępność jest domyślnie włączona. Wyłączenie tego rozszerzenia wymaga usunięcia i odtworzenia rozszerzenia.

Aby zaktualizować ustawienia konfiguracji Dapr, odtwórz rozszerzenie w pożądanym stanie. Załóżmy na przykład, że wcześniej utworzono i zainstalowano rozszerzenie przy użyciu następującej konfiguracji:

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" 

Aby zaktualizować element dapr_operator.replicaCount z dwóch do trzech, użyj następującego polecenia:

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"

Zarządzanie certyfikatami mTLS

Rozszerzenie Dapr obsługuje szyfrowanie w trakcie przesyłania danych między wystąpieniami Dapr z wykorzystaniem płaszczyzny sterowania usługi Dapr Sentry, która jest Centralnym Urzędem Certyfikacji. Za pomocą usługi Sentry można szyfrować komunikację przy użyciu certyfikatów x.509 z podpisem własnym lub dostarczonych przez użytkownika. Dowiedz się więcej o konfigurowaniu certyfikatów mTLS w dokumentacji języka Dapr typu open source.

Możesz wprowadzić własne certyfikaty lub pozwolić platformie Dapr na automatyczne tworzenie i utrwalanie głównych certyfikatów oraz certyfikatów wystawców z podpisem własnym.

Important

Jeśli nie skonfigurujesz jawnie certyfikatów, usługa Dapr domyślnie generuje certyfikaty z podpisem własnym, które są zwykle ważne przez 1 rok. Obecnie używanie certyfikatów z podpisem własnym generowanych przez usługę Dapr nie jest zalecane. Najlepszym rozwiązaniem jest generowanie certyfikatów niestandardowych i ręczne aktualizowanie ich.

Zarządzanie certyfikatami z podpisem własnym wygenerowanym przez język Dapr

Jeśli nie podano żadnych certyfikatów niestandardowych, dapr automatycznie tworzy i utrwala certyfikaty z podpisem własnym, ważne przez 1 rok. Rozszerzenie Dapr instaluje dapr-trust-bundle sekret, który zawiera informacje o certyfikacie w domyślnej dapr-system przestrzeni nazw.

Sprawdź wygaśnięcie bieżących certyfikatów samopodpisanych generowanych przez Dapr

Możesz sprawdzić, kiedy certyfikat główny dapr klastra Kubernetes wygaśnie, używając interfejsu wiersza polecenia języka Dapr.

dapr mtls expiry

Oczekiwane dane wyjściowe:

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

Możesz również znaleźć datę wygaśnięcia bieżącego certyfikatu w danych 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

Oczekiwane dane wyjściowe:

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

Generowanie nowego certyfikatu z podpisem własnym wygenerowanego przez język Dapr

Zarządzanie własnymi certyfikatami x.509 dostarczonymi przez użytkownika

Możesz również przynieść własne certyfikaty niestandardowe.

Skonfiguruj Dapr z włączoną wysoką dostępnością

Skonfiguruj Dapr z włączoną wysoką dostępnością, ustawiając global.ha.enabled parametr na 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"

Note

Jeśli ustawienia konfiguracji są poufne i muszą być chronione (na przykład informacje związane z certyfikatem), przekaż --configuration-protected-settings parametr i wartość będzie chroniona przed odczytem.

Jeśli nie zostaną przekazane żadne ustawienia konfiguracji, konfiguracja języka Dapr jest domyślnie ustawiona na:

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

Aby uzyskać listę dostępnych opcji, zobacz Konfiguracja języka Dapr.

Ogranicz rozszerzenie do niektórych węzłów

W niektórych konfiguracjach można uruchamiać język Dapr tylko w niektórych węzłach. Rozszerzenie można ograniczyć, przekazując znacznik nodeSelector w konfiguracji rozszerzenia. Jeśli żądany nodeSelector element zawiera ., należy je odpowiednio wyeksportować z powłoki i rozszerzenia. Na przykład następująca konfiguracja instaluje Dapr tylko na węzłach z 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"

Aby zarządzać systemem operacyjnym i architekturą, użyj obsługiwanych wersji konfiguracji global.daprControlPlaneOs i 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"

Zainstaluj Dapr w wielu strefach dostępności w trybie HA.

Domyślnie usługa przydzielania zasobów używa klasy magazynu typu standard_LRS. Zaleca się utworzenie strefowej redundancji pamięci podczas instalowania Dapr w trybie wysokiej dostępności na wielu strefach dostępności. Aby na przykład utworzyć klasę magazynu typu zrs, dodaj parametr 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

Podczas instalowania Dapr użyj klasy magazynu użytej w pliku 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"

Konfigurowanie przestrzeni nazw wydania Dapr

Przestrzeń nazw wydania można skonfigurować.

Rozszerzenie Dapr jest instalowane domyślnie w dapr-system przestrzeni nazw. Aby to zastąpić, użyj --release-namespace. Aby ponownie zdefiniować przestrzeń nazw, dołącz klaster --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

Dowiedz się, jak skonfigurować przestrzeń nazw wydania języka Dapr podczas migracji z języka Dapr typu open source do rozszerzenia Dapr.

Pokaż bieżące ustawienia konfiguracji

Użyj polecenia , az k8s-extension show aby wyświetlić bieżące ustawienia konfiguracji języka Dapr:

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

Ustaw poziomy dzienników monitorowania Dapr

Ustawienia składnika monitorowania Dapr można skonfigurować za pomocą rozszerzenia klastra AKS. W przypadku aktualizacji dapr_monitoring poziomów dziennika w celu "ostrzeżenia" (tylko powiadomienia o otrzymaniu ostrzeżenia lub błędu) ustaw następujące configuration-settingspolecenie:

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"

Ustawianie wychodzącego serwera proxy dla rozszerzenia dapr dla lokalnej usługi Azure Arc

Jeśli chcesz użyć proxy wyjściowego w rozszerzeniu Dapr dla AKS, możesz to zrobić, wykonując następujące czynności:

  1. Ustawianie zmiennych środowiskowych serwera proxy przy użyciu dapr.io/env adnotacji:
    • HTTP_PROXY
    • HTTPS_PROXY
    • NO_PROXY
  2. Instalowanie certyfikatu serwera proxy w przyczepce.

Aktualizowanie wersji instalacji języka Dapr

Jeśli korzystasz z określonej wersji Dapr i nie masz dostępnego --auto-upgrade-minor-version, możesz użyć następującego polecenia, aby uaktualnić lub obniżyć wersję 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

Poprzednie polecenie aktualizuje tylko płaszczyznę sterowania Dapr . Aby zaktualizować sidecar-y Dapr, uruchom ponownie wdrożenia swojej aplikacji.

kubectl rollout restart deploy/<DEPLOYMENT-NAME>

Korzystanie z obrazów opartych na systemie Linux na platformie Azure

Można używać obrazów Linux Azure z rozszerzeniem Dapr począwszy od wersji 1.8.0 Dapr. Aby ich używać, ustaw flagę global.tag :

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

Wyłączanie automatycznych aktualizacji CRD

Od wersji Dapr 1.9.2, CRD są automatycznie aktualizowane podczas aktualizacji rozszerzeń. Aby wyłączyć to ustawienie, możesz ustawić wartość hooks.applyCrdsfalse.

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

Note

CRD są stosowane tylko w przypadku aktualizacji i są pomijane podczas degradacji.

Spełnianie wymagań sieciowych

Rozszerzenie Dapr wymaga następujących adresów URL dla ruchu wychodzącego https://:443, aby działało na AKS i Arc dla platformy Kubernetes:

  1. https://mcr.microsoft.com/daprio Adres URL ściągania artefaktów Dapr.
  2. Adresy URL ruchu wychodzącego wymagane dla usługi AKS lub Arc dla platformy Kubernetes.

Dalsze kroki