تكوين ملحق 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
- عبر Dapr CLI (مستحسن)
راجع ترقية شهادة الجذر والمصدر في Dapr باستخدام دليل CLI . - عبر
kubectl
الأوامر راجع تحديث جذر Dapr أو شهادات المصدر باستخدام دليل Kubectl .
إدارة شهادات x.509 التي يوفرها المستخدم
يمكنك أيضا إحضار الشهادات المخصصة الخاصة بك.
- إنشاء شهادات مخصصة
إنشاء الشهادة المخصصة الخاصة بك؛ على سبيل المثال، شهادة Azure Key Vault. - تحديث الشهادة المخصصة يدويا
اتبع الإرشادات المتوفرة في وثائق مصدر مفتوح Dapr لتحديث الشهادات المخصصة يدويا باستخدامkubectl
.
توفير 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، يمكنك القيام بذلك عن طريق:
- تعيين متغيرات بيئة الوكيل باستخدام التعليقات
dapr.io/env
التوضيحية:HTTP_PROXY
HTTPS_PROXY
NO_PROXY
- تثبيت شهادة الوكيل في 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
- تعرف على المزيد حول استخدام الصور المستندة إلى Mariner مع Dapr.
- تعرف على المزيد حول نشر Azure Linux على AKS.
تعطيل تحديثات 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:
https://mcr.microsoft.com/daprio
عنوان URL لسحب البيانات الاصطناعية ل Dapr.- عناوين URL الصادرة المطلوبة ل AKS أو Arc ل Kubernetes.
الخطوات التالية
Azure Kubernetes Service