مشاركة عبر


تكوين ملحق Dapr لخدمة Azure Kubernetes (AKS) ومشروع Kubernetes الممكن بواسطة Arc

بعد إكمال المتطلبات الأساسية لتثبيت ملحق Dapr، يمكنك تكوين ملحق Dapr للعمل بشكل أفضل لك ولمشروعك باستخدام خيارات التكوين المختلفة، مثل:

  • تدوير الشهادات منتهية الصلاحية
  • تمكين توفير Dapr مع قابلية وصول عالية (HA)
  • تحديد العقد التي تستخدم ملحق Dapr
  • تعيين تحديثات تعريف الموارد المخصصة التلقائية (CRD)
  • تكوين مساحة اسم إصدار Dapr

يمكنك الملحق من تعيين خيارات تكوين Dapr باستخدام المعلمة --configuration-settings في Azure CLI أو configurationSettings الخاصية في قالب Bicep.

إدارة شهادات mTLS

يدعم ملحق Dapr التشفير أثناء النقل للاتصال بين مثيلات Dapr باستخدام وحدة التحكم في خدمة Dapr Sentry، وهي هيئة مصدقة مركزية (CA). باستخدام خدمة Sentry، يمكنك تشفير الاتصال باستخدام شهادات x.509 الموقعة ذاتيا أو التي يوفرها المستخدم. تعرف على المزيد حول إعداد شهادات mTLS في وثائق Dapr مفتوحة المصدر.

يمكنك إحضار الشهادات الخاصة بك، أو السماح ل Dapr تلقائيا بإنشاء شهادات الجذر والمصدر الموقعة ذاتيا والاستمرار فيها.

هام

إذا لم تقم بتكوين الشهادات بشكل صريح، تعيين Dapr افتراضيا على إنشاء شهادات موقعة ذاتيا، وهي صالحة بشكل عام لمدة سنة واحدة. حاليا، لا يوصى باستخدام الشهادات الموقعة ذاتيا التي تم إنشاؤها بواسطة Dapr. أفضل الممارسات هي إنشاء شهادات مخصصة وتحديثها يدويا.

إدارة الشهادات الموقعة ذاتيا التي تم إنشاؤها بواسطة Dapr

إذا لم تكن قد قدمت أي شهادات مخصصة، يقوم Dapr تلقائيا بإنشاء الشهادات الموقعة ذاتيا واستمرارها، صالحة لمدة سنة واحدة. يقوم ملحق Dapr بتثبيت dapr-trust-bundle البيانات السرية، والتي تحتوي على معلومات الشهادة ضمن مساحة الاسم الافتراضية dapr-system .

التحقق من انتهاء صلاحية الشهادات الموقعة ذاتيا الحالية التي تم إنشاؤها بواسطة Dapr

يمكنك التحقق من وقت انتهاء صلاحية شهادة جذر Dapr لمجموعة Kubernetes باستخدام Dapr CLI.

dapr mtls expiry

الإخراج المتوقع:

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

يمكنك أيضا العثور على تاريخ انتهاء صلاحية شهادتك الحالية في بيانات Kubernetes dapr-trust-bundle السرية.

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

الإخراج المتوقع:

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

إنشاء شهادة موقعة ذاتيا جديدة تم إنشاؤها بواسطة Dapr

إدارة شهادات x.509 التي يوفرها المستخدم

يمكنك أيضا إحضار الشهادات المخصصة الخاصة بك.

توفير Dapr مع تمكين قابلية الوصول العالية (HA)

توفير Dapr مع قابلية وصول عالية (HA) ممكنة عن طريق تعيين المعلمة global.ha.enabled إلى 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"

إشعار

إذا كانت إعدادات التكوين حساسة وتحتاج إلى الحماية (على سبيل المثال، المعلومات المتعلقة بالشهادات)، فمرر المعلمة --configuration-protected-settings وسيتم حماية القيمة من القراءة.

إذا لم يتم تمرير إعدادات التكوين، تكوين Dapr الافتراضي إلى:

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

للحصول على قائمة بالخيارات المتاحة، اطلع على تكوين Dapr.

قصر الملحق على عقد معينة

في بعض التكوينات، قد ترغب فقط في تشغيل Dapr على عقد معينة. يمكنك تحديد الملحق عن طريق تمرير nodeSelector في تكوين الملحق. إذا كان المطلوب nodeSelector يحتوي على .، يجب عليك التخلص منها من shell والملحق. على سبيل المثال، يقوم التكوين التالي بتثبيت Dapr فقط على العقد مع 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"

لإدارة نظام التشغيل والهندسة المعمارية، استخدم الإصدارات المدعومةglobal.daprControlPlaneOs من والتكوين 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”

تثبيت Dapr في مناطق توفر متعددة أثناء وضع قابلية الوصول العالية

بشكل افتراضي، تستخدم خدمة الموضع فئة تخزين من النوع standard_LRS. يوصى بإنشاء فئة تخزين زائدة عن الحاجة في المنطقة أثناء تثبيت Dapr في وضع قابلية الوصول العالية عبر مناطق توفر متعددة. على سبيل المثال، لإنشاء zrs فئة تخزين نوع، أضف المعلمة 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

عند تثبيت Dapr، استخدم فئة التخزين التي استخدمتها في ملف 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"

تكوين مساحة اسم إصدار Dapr

يمكنك تكوين مساحة اسم الإصدار.

يتم تثبيت ملحق Dapr في dapr-system مساحة الاسم بشكل افتراضي. لتجاوزه، استخدم --release-namespace. لإعادة تعريف مساحة الاسم، قم بتضمين نظام المجموعة --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

تعرف على كيفية تكوين مساحة اسم إصدار Dapr عند الترحيل من Dapr مصدر مفتوح إلى ملحق Dapr.

أظهر إعدادات التكوين الحالية

استخدم الأمر az k8s-extension show لإظهار إعدادات تكوين Dapr الحالية:

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

تحديث إعدادات التكوين

هام

لا يمكن تعديل بعض خيارات التكوين بعد الإنشاء. تتطلب التعديلات على هذه الخيارات حذف الامتداد وإعادة إنشائه، والذي ينطبق على الإعدادات التالية:

  • global.ha.*
  • dapr_placement.*

يتم تمكين قابلية الوصول العالية بشكل افتراضي. يتطلب تعطيله حذف الملحق وإعادة إنشائه.

لتحديث إعدادات تكوين Dapr، ما عليك سوى إعادة إنشاء الملحق مع الحالة المطلوبة. على سبيل المثال، لنفترض أنك قمت مسبقا بإنشاء الملحق وتثبيته باستخدام التكوين التالي:

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" 

لتحديث dapr_operator.replicaCount من اثنين إلى ثلاثة، استخدم الأمر التالي:

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"

تعيين الوكيل الصادر لملحق Dapr ل Azure Arc المحلي

إذا كنت ترغب في استخدام وكيل صادر مع ملحق Dapr ل AKS، يمكنك القيام بذلك عن طريق:

  1. تعيين متغيرات بيئة الوكيل باستخدام التعليقات dapr.io/env التوضيحية:
    • HTTP_PROXY
    • HTTPS_PROXY
    • NO_PROXY
  2. تثبيت شهادة الوكيل في sidecar.

تحديث إصدار تثبيت Dapr

إذا كنت تستخدم إصدارا معينا من Dapr ولم يكن لديك --auto-upgrade-minor-version متوفر، يمكنك استخدام الأمر التالي لترقية 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

يقوم الأمر السابق بتحديث وحدة التحكم Dapr فقط. لتحديث Dapr sidecars، أعد تشغيل عمليات نشر التطبيق:

kubectl rollout restart deploy/<DEPLOYMENT-NAME>

استخدام الصور المستندة إلى Azure Linux

من Dapr الإصدار 1.8.0، يمكنك استخدام صور Azure Linux مع ملحق Dapr. لاستخدامها، قم بتعيين العلامة global.tag :

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

تعطيل تحديثات CRD التلقائية

من Dapr الإصدار 1.9.2، تتم ترقية CRDs تلقائيا عند ترقية الملحق. لتعطيل هذا الإعداد، يمكنك التعيين hooks.applyCrds إلى false.

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

إشعار

يتم تطبيق CRDs فقط في حالة الترقيات ويتم تخطيها أثناء الرجوع إلى إصدارات أدنى.

تلبية متطلبات الشبكة

يتطلب ملحق Dapr عناوين URL الصادرة التالية للعمل على https://:443 AKS وArc ل Kubernetes:

  1. https://mcr.microsoft.com/daprio عنوان URL لسحب البيانات الاصطناعية ل Dapr.
  2. عناوين URL الصادرة المطلوبة ل AKS أو Arc ل Kubernetes.

الخطوات التالية