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

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

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

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

هام

ابتداء من 30 نوفمبر 2025، لم تعد خدمة Azure Kubernetes Service (AKS) تدعم أو توفر تحديثات الأمان ل Azure Linux 2.0. صورة عقدة Azure Linux 2.0 مجمدة عند إصدار 202512.06.0. ابتداء من 31 مارس 2026، سيتم إزالة صور العقد، ولن تتمكن من توسيع مجموعات العقد الخاصة بك. انتقل إلى نسخة Azure Linux المدعومة عن طريق ترقية مجموعات العقد إلى نسخة Kubernetes مدعومة أو الانتقال إلى osSku AzureLinux3. لمزيد من المعلومات، راجع مشكلة GitHub للتقاعدوإعلان تقاعد Azure Updates. للبقاء على اطلاع بالإعلانات والتحديثات، تابع ملاحظات إصدار AKS.

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

هام

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

  • global.ha.*
  • dapr_placement.*

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

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

az k8s-extension create --cluster-type managedClusters \
--cluster-name <your-AKS-cluster> \
--resource-group <your-resource-group> \
--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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=3"

إدارة شهادات 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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--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 <your-AKS-cluster>
--resource-group <your-resource-group>
--name dapr
--extension-type Microsoft.Dapr
--auto-upgrade-minor-version true
--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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--name dapr \
--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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--name dapr

تعيين مستويات سجل مراقبة DAPR

يمكنك تكوين إعدادات مكون مراقبة Dapr باستخدام امتداد عنقود AKS الخاص بك. على سبيل المثال، لتحديث dapr_monitoring مستويات السجل إلى التحذير (يتم الإشعار فقط عند تلقي تحذير أو خطأ)، قم بتعيين التالي configuration-settings:

az k8s-extension create --cluster-type managedClusters \
--cluster-name <your-AKS-cluster> \
--resource-group <your-resource-group> \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_monitoring.logLevel=warn"

قم بتعيين الوكيل الصادر لامتداد 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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--name dapr \
--version 1.12.0 # Version to upgrade or downgrade to

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

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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--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 <your-AKS-cluster> \
--resource-group <your-resource-group> \
--name dapr \
--configuration-settings "hooks.applyCrds=false"

إشعار

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

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

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

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