Udostępnij za pośrednictwem


Konfigurowanie rozszerzenia Dapr dla projektu Kubernetes Service (AKS) i Kubernetes z obsługą usługi Arc

Po utworzeniu 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:

  • Ograniczanie, które z węzłów używa rozszerzenia Dapr
  • Ustawianie automatycznych aktualizacji CRD
  • Konfigurowanie przestrzeni nazw wydania dapr

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

Aprowizuj język Dapr z włączoną wysoką dostępnością

Aprowizuj język 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"

Uwaga

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 nodeSelector element w konfiguracji rozszerzenia. Jeśli żądany nodeSelector element zawiera ., należy je użyć jako ucieczki od powłoki i rozszerzenia. Na przykład następująca konfiguracja instaluje język Dapr tylko do węzłów za pomocą polecenia 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”

Instalowanie języka Dapr w wielu strefach dostępności w trybie wysokiej dostępności

Domyślnie usługa umieszczania używa klasy magazynu typu standard_LRS. Zaleca się utworzenie klasy magazynu strefowo nadmiarowego podczas instalowania języka Dapr w trybie wysokiej dostępności w wielu strefach dostępności. Aby na przykład utworzyć klasę zrs magazynu typu, dodaj storageaccounttype parametr :

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 języka 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 go zastąpić, użyj polecenia --release-namespace. Uwzględnij klaster --scope , aby ponownie zdefiniować przestrzeń nazw.

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 dapr, jeśli masz już zainstalowany język 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

Aktualizowanie ustawień konfiguracji

Ważne

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 języka Dapr, utwórz ponownie rozszerzenie z żądanym stanem. 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"

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

Jeśli chcesz użyć serwera proxy ruchu wychodzącego z rozszerzeniem Dapr dla usługi 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 języka Dapr i nie masz --auto-upgrade-minor-version dostępnej wersji, możesz użyć następującego polecenia, aby uaktualnić lub obniżyć poziom języka 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ć przyczepki języka Dapr, uruchom ponownie wdrożenia aplikacji:

kubectl rollout restart deploy/<DEPLOYMENT-NAME>

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

W języku Dapr w wersji 1.8.0 można używać obrazów systemu Linux platformy Azure z rozszerzeniem 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

Z języka Dapr w wersji 1.9.2 pliki CRD są automatycznie uaktualniane podczas uaktualniania 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"

Uwaga

CrD są stosowane tylko w przypadku uaktualnień i są pomijane podczas obniżania.

Spełnianie wymagań sieciowych

Rozszerzenie języka Dapr dla usług AKS i Arc dla platformy Kubernetes wymaga następujących adresów URL ruchu wychodzącego do https://:443 działania:

  1. https://mcr.microsoft.com/daprio Adres URL ściągania artefaktów języka Dapr.
  2. https://linuxgeneva-microsoft.azurecr.io/ Adres URL ściągania niektórych zależności języka Dapr.
  3. Adresy URL ruchu wychodzącego wymagane dla usługi AKS lub Arc dla platformy Kubernetes.

Następne kroki

Po pomyślnym aprowizacji języka Dapr w klastrze usługi AKS spróbuj wdrożyć przykładową aplikację.