ملحق Dapr لخدمة Azure Kubernetes (AKS) وKubernetes التي تُمكّن Arc
يوفر وقت تشغيل التطبيق الموزع (Dapr) واجهات برمجة التطبيقات التي تساعدك على كتابة وتنفيذ الخدمات المصغرة البسيطة والمحمولة والمرنة والمؤمنة. تعمل واجهات برمجة تطبيقات Dapr كعملية جانبية جنبا إلى جنب مع تطبيقاتك وتجريد التعقيدات الشائعة التي قد تواجهها عند إنشاء تطبيقات موزعة، مثل:
- اكتشاف الخدمة
- تكامل وسيط الرسائل
- التشفير
- الملاحظة
- إدارة البيانات السرية
Dapr قابل للتبني بشكل متزايد. يمكنك استخدام أي من كتل إنشاء واجهة برمجة التطبيقات حسب الحاجة. تعرف على مستوى الدعم الذي تقدمه Microsoft لكل Dapr API ومكون.
القدرات والميزات
يؤدي استخدام ملحق Dapr لتوفير Dapr على نظام مجموعة Kubernetes التي تدعم AKS أو Arc إلى التخلص من النفقات العامة ل:
- تنزيل أدوات Dapr
- تثبيت وقت تشغيل Dapr وإدارته يدويا على نظام مجموعة AKS
يمكنك تثبيت ملحق Dapr ونشره وتكوينه على نظام المجموعة باستخدام إما Azure CLI أو قالب Bicep.
بالإضافة إلى ذلك، يوفر الملحق الدعم لكافة قدرات تكوين Dapr الأصلية من خلال وسيطات سطر الأوامر البسيطة.
يوفر Dapr المجموعة التالية من القدرات للمساعدة في تطوير الخدمات المصغرة على AKS:
- سهولة توفير Dapr على AKS من خلال ملحقات نظام المجموعة
- إمكانية النقل الممكنة من خلال واجهات برمجة تطبيقات HTTP وgRPC التي تقوم بتجريد خيارات التقنيات الأساسية
- استدعاءات خدمة إلى خدمة موثوقة وآمنة ومرنة من خلال واجهات برمجة تطبيقات HTTP وgRPC
- أصبح نشر الرسائل والاشتراك فيها أمراً سهلاً بفضل دعم تصفية CloudEvent ودلالات "مرة واحدة على الأقل" لتسليم الرسائل
- إمكانية الملاحظة والمراقبة القابلة للتوصيل من خلال جامع Open Telemetry API
- مستقلة عن اللغة، مع تقديم مجموعات تطوير برامج محددة للغة (SDKs)
- التكامل مع Visual Studio Code من خلال ملحق Dapr
- المزيد من واجهات برمجة التطبيقات لحل تحديات التطبيقات الموزعة
غير مدعوم حالياً
ملحق Dapr هو الخيار الوحيد المدعوم من Microsoft ل Dapr في AKS.
معالجة المشكلات
تصنف Microsoft المشكلات التي يتم طرحها مقابل ملحق Dapr إلى جزأين:
- عمليات الامتداد
- وقت تشغيل Dapr (بما في ذلك واجهات برمجة التطبيقات والمكونات)
يقسم الجدول التالي مستويات أولوية الدعم لكل فئة من هذه الفئات.
الوصف | المخاطر/الانحدارات الأمنية | المشاكل الوظيفية | |
---|---|---|---|
عمليات الامتداد | المشكلات التي تمت مواجهتها أثناء عمليات الامتداد، مثل تثبيت/إلغاء تثبيت أو ترقية ملحق Dapr. | تعطي Microsoft الأولوية للحل الفوري. | تتحقق Microsoft من العناوين والعناوين حسب الحاجة. |
وقت تشغيل Dapr | المشكلات التي تمت مواجهتها عند استخدام وقت تشغيل Dapr وواجهات برمجة التطبيقات والمكونات عبر الملحق. | تعمل Microsoft مع مجتمع مصدر مفتوح للتحقيق في المشكلات ذات الأولوية العالية. اعتمادا على أولوية المشكلة وشدتها وحجمها، تقوم Microsoft إما بحلها مباشرة في الملحق، أو تعمل مع مشروع مصدر مفتوح Dapr لحلها في إصلاح عاجل أو إصدار مصدر مفتوح Dapr مستقبلي. بمجرد إصدار الإصلاحات في Dapr مصدر مفتوح، يتم توفيرها بعد ذلك في ملحق Dapr. | تتحقق Microsoft من المشكلات الوظيفية الجديدة جنبا إلى جنب مع مشروع مصدر مفتوح Dapr وتتعاون معها لحلها في إصلاح عاجل أو إصدار مصدر مفتوح Dapr مستقبلي. لن يتم التحقيق في المشكلات الوظيفية المعروفة مصدر مفتوح من قبل Microsoft في الوقت الحالي. |
إصدارات Dapr
توفر Microsoft أفضل دعم للنسخة الأخيرة من Dapr والإصدارين السابقين (N-2). أحدث إصدار تصحيح هو الإصدار الوحيد المدعوم من كل إصدار ثانوي. حاليا، يدعم ملحق Dapr ل AKS أو Kubernetes التي تدعم Arc إصدارات Dapr التالية:
- 1.14.x
- 1.13.x
- 1.12.x
يمكنك تشغيل أوامر Azure CLI لاسترداد قائمة بالإصدارات المتوفرة في نظام مجموعة أو موقع.
تعرف على كيفية عرض أحدث إصدارات Dapr الثابتة المتوفرة لنظام مجموعة AKS المدارة واستهدافها.
دعم وقت التشغيل
يختلف دعم ملحق Dapr اعتماداً على كيفية إدارة وقت التشغيل.
مُدار ذاتيًا
يتطلب وقت التشغيل المدار ذاتياً ترقية يدوية للبقاء في نافذة الدعم. لترقية Dapr عبر الملحق، اتبع إرشادات مثيل ملحق التحديث.
بعد وصول إصدار وقت تشغيل Dapr إلى نهاية دعم Microsoft، تستمر تطبيقاتك في العمل دون تغيير. ومع ذلك، لم تعد Microsoft قادرة على توفير تصحيحات الأمان أو دعم العملاء ذي الصلة لإصدار وقت التشغيل هذا. إذا واجه التطبيق أي مشاكل بعد تاريخ انتهاء الدعم لهذا الإصدار، نوصي بالترقية إلى إصدار مدعوم لتلقي أحدث تصحيحات الأمان وميزاته.
ترقية تلقائية
يتطلب تمكين الترقية التلقائية دراسة متأنية. بينما تحافظ الترقية التلقائية على تحديث ملحق Dapr إلى أحدث إصدار ثانوي، قد تواجه تغييرات فاصلة بين التحديثات. لا تتحمل Microsoft مسؤولية أي وقت تعطل بسبب التغييرات العاجلة بين التحديثات التلقائية.
المكونات وواجهات برمجة التطبيقات
يمكنك استخدام جميع مكونات Dapr وواجهات برمجة التطبيقات عبر ملحق Dapr، بما في ذلك تلك الموجودة في حالة ألفا وبيتا. ومع ذلك، توفر Microsoft الدعم فقط لمجموعة فرعية من واجهات برمجة التطبيقات والمكونات، باتباع نهج معالجة المشكلة المحددة.
واجهات برمجة تطبيقات Dapr المستقرة
يدعم ملحق Dapr إصدارات مستقرة من واجهات برمجة تطبيقات Dapr (كتل الإنشاء).
Dapr API | الحالة | الوصف |
---|---|---|
استدعاء الخدمة إلى الخدمة | Stable | اكتشف الخدمات وقم بإجراء مكالمات موثوقة ومباشرة من خدمة إلى خدمة مع مصادقة وتشفير mTLS تلقائيا. (#limitations) |
إدارة الحالة | Stable | يوفر قدرات إدارة الحالة للمعاملات وعمليات CRUD. |
النشر/الاشتراك | Stable | يسمح لتطبيقات الناشر والمشترك بالتداخل عبر وسيط رسائل وسيط. يمكنك أيضا إنشاء اشتراكات تعريفية لموضوع باستخدام ملف JSON لمكون خارجي. |
الارتباطات | Stable | تشغيل التطبيقات الخاصة بك استنادا إلى الأحداث. |
الجهات الفاعله | Stable | الجهات الفاعلة في Dapr هي وحدات عمل مستندة إلى الرسائل ومترابطة واحدة ومصممة لتوسيع نطاقها بسرعة. على سبيل المثال، في حالات حمل العمل الثقيلة. |
إمكانية المراقبة | Stable | إرسال معلومات التتبع إلى خلفية Application Insights. |
اسرار | Stable | الوصول إلى البيانات السرية من التعليمات البرمجية للتطبيق الخاص بك أو الرجوع إلى القيم الآمنة في مكونات Dapr. |
التكوين | Stable | استرداد عناصر تكوين التطبيق والاشتراك فيها للتكوين المدعوم. المخازن. |
مكون وقت تشغيل التطبيقات الموزّعة
مكونات المستوى 1 مقابل مكونات المستوى 2
يتم دعم مجموعة فرعية من مكونات Dapr. ضمن تلك المجموعة الفرعية، يتم تقسيم مكونات Dapr إلى فئتي دعم: المستوى 1 أو المستوى 2.
- مكونات المستوى 1: المكونات الثابتة التي تتلقى تحقيقا فوريا في السيناريوهات الحرجة (الأمان أو الانحدار الخطير). وإلا، تتعاون Microsoft مع مصدر مفتوح لمعالجة في إصلاح عاجل أو الإصدار العادي التالي.
- مكونات المستوى 2: المكونات التي يتم التحقيق فيها بأولوية أقل، لأنها ليست في حالة مستقرة أو مع موفر جهة خارجية.
مكونات المستوى 1
واجهة برمجة التطبيقات (API) | المكون | نوع |
---|---|---|
إدارة الحالة | Azure Cosmos DB Azure Blob Storage v1 مساحة تخزين Azure Table Microsoft SQL Server |
state.azure.cosmosdb state.azure.blobstorage state.azure.tablestorage state.sqlserver |
النشر والاشتراك | قوائم انتظار ناقل خدمة Azure مواضيع ناقل خدمة Azure مراكز أحداث Azure |
pubsub.azure.servicebus.queues pubsub.azure.servicebus.topics pubsub.azure.eventhubs |
Binding | Azure Storage Queues قوائم انتظار ناقل خدمة Azure Azure Blob Storage مراكز أحداث Azure |
bindings.azure.storagequeues bindings.azure.servicebusqueues bindings.azure.blobstorage bindings.azure.eventhubs |
إدارة البيانات السرية | Azure Key Vault | secretstores.azure.keyvault |
مكونات المستوى 2
واجهة برمجة التطبيقات (API) | المكون | نوع |
---|---|---|
إدارة الحالة | PostgreSQL MySQL وMariaDB Redis |
state.postgresql state.mysql state.redis |
النشر والاشتراك | Apache Kafka عمليات دفق Redis |
pubsub.kafka pubsub.redis |
Binding | Azure Event Grid Azure Cosmos DB Apache Kafka PostgreSQL Redis كرون |
bindings.azure.eventgrid bindings.azure.cosmosdb bindings.kafka bindings.postgresql bindings.redis bindings.cron |
التكوين | PostgreSQL Redis |
configuration.postgresql configuration.redis |
السحب/المناطق
يتم دعم سحابة Azure العالمية مع AKS ودعم Arc في المناطق التالية:
المنطقة | دعم AKS | Arc لدعم Kubernetes |
---|---|---|
australiaeast |
✔️ | ✔️ |
australiasoutheast |
✔️ | ❌ |
brazilsouth |
✔️ | ❌ |
canadacentral |
✔️ | ✔️ |
canadaeast |
✔️ | ✔️ |
centralindia |
✔️ | ✔️ |
centralus |
✔️ | ✔️ |
eastasia |
✔️ | ✔️ |
eastus |
✔️ | ✔️ |
eastus2 |
✔️ | ✔️ |
eastus2euap |
❌ | ✔️ |
francecentral |
✔️ | ✔️ |
francesouth |
✔️ | ❌ |
germanywestcentral |
✔️ | ✔️ |
japaneast |
✔️ | ✔️ |
japanwest |
✔️ | ❌ |
koreacentral |
✔️ | ✔️ |
koreasouth |
✔️ | ❌ |
northcentralus |
✔️ | ✔️ |
northeurope |
✔️ | ✔️ |
norwayeast |
✔️ | ❌ |
southafricanorth |
✔️ | ❌ |
southcentralus |
✔️ | ✔️ |
southeastasia |
✔️ | ✔️ |
southindia |
✔️ | ❌ |
swedencentral |
✔️ | ✔️ |
switzerlandnorth |
✔️ | ✔️ |
uaenorth |
✔️ | ❌ |
uksouth |
✔️ | ✔️ |
ukwest |
✔️ | ❌ |
westcentralus |
✔️ | ✔️ |
westeurope |
✔️ | ✔️ |
westus |
✔️ | ✔️ |
westus2 |
✔️ | ✔️ |
westus3 |
✔️ | ✔️ |
الأسئلة الشائعة
كيف تقارن شبكات Dapr والخدمة؟
في حين أن Dapr وشبكة الخدمة توفر بعض القدرات المتداخلة، تركز شبكة الخدمة على مخاوف الشبكات، في حين تركز Dapr على توفير كتل الإنشاء التي تجعل بناء التطبيقات كخدمات مصغرة أسهل. يركز Dapr على المطور، بينما تركز شبكات الخدمة على البنية الأساسية.
تتضمن بعض الإمكانات الشائعة التي يشاركها Dapr مع شبكات الخدمة ما يلي:
- تأمين الاتصال من خدمة إلى خدمة باستخدام تشفير mTLS
- مجموعة مقاييس خدمة إلى خدمة
- تتبع موزع من خدمة إلى خدمة
- المرونة من خلال عمليات إعادة المحاولة
يوفر Dapr كتل إنشاء أخرى على مستوى التطبيق لإدارة الحالة والمراسلة pub/sub والممثلين والمزيد. ومع ذلك، لا يوفر Dapr قدرات لسلوك نسبة استخدام الشبكة، مثل التوجيه أو تقسيم نسبة استخدام الشبكة. إذا كان الحل الخاص بك سيستفيد من نسبة استخدام الشبكة التي توفرها شبكة الخدمة، ففكر في استخدام Mesh Open Service.
لمزيدٍ من المعلومات حول Dapr وشبكات الخدمة، وكيف يمكن استخدامها معاً، تفضل بزيارة مستندات Dapr.
كيف يمكن مقارنة Dapr secrets API مع برنامج تشغيل Secrets Store CSI؟
تسمح كل من Dapr secrets API وبرنامج تشغيل Secrets Store CSI المُدار بتكامل الأسرار الموجودة في متجر خارجي، ما يؤدي إلى تجريد تقنية مخزن المعلومات السرية من التعليمات البرمجية للتطبيق.
يقوم برنامج تشغيل Secrets Store CSI بتحميل الأسرار الموجودة في Azure Key Vault كمجلد CSI للاستهلاك بواسطة أحد التطبيقات.
يكشف Dapr الأسرار عبر واجهة برمجة تطبيقات RESTful التي يمكن أن تكون:
- تم استدعاؤه بواسطة التعليمات البرمجية للتطبيق
- تم تكوينه باستخدام مخازن سرية متنوعة
يسرد الجدول التالي قدرات كل عرض:
Dapr secrets API | برنامج تشغيل Secrets Store CSI | |
---|---|---|
مخازن المعلومات السرية المدعومة | متغيرات البيئة المحلية (للتطوير)؛ الملف المحلي (للتطوير)؛ أسرار Kubernetes؛ AWS Secrets Manager؛ مخزن Azure Key Vault السري؛ Azure Key Vault مع الهويات المدارة على Kubernetes؛ GCP Secret Manager؛ HashiCorp Vault | مخزن المعلومات السرية لـ Azure Key Vault |
الوصول إلى الأسرار في التعليمات البرمجية للتطبيق | استدعاء Dapr secrets API | الوصول إلى وحدة التخزين المحمَّلة أو مزامنة المحتوى المحمَّل كسر Kubernetes وتعيين متغير بيئة |
تدوير البيانات السرية | استدعاءات واجهة برمجة التطبيقات الجديدة الحصول على البيانات السرية المحدثة | استطلاعات البيانات السرية وتحديثات التحميل في فاصل زمني قابل للتكوين |
التسجيل والمقاييس | يقوم Dapr sidecar بإنشاء سجلات، والتي يمكن تكوينها باستخدام مُجمِّعات مثل Azure Monitor، وتبعث مقاييس عبر Prometheus، وتعرض نقطة نهاية HTTP لعمليات التحقق من الصحة | إصدار مقاييس برنامج التشغيل وموفر Azure Key Vault عبر Prometheus |
لمزيد من المعلومات حول إدارة البيانات السرية في Dapr، راجع نظرة عامة على إدارة الأسرار.
لمزيدٍ من المعلومات حول برنامج تشغيل Secrets Store CSI وموفر Azure Key Vault، راجع نظرة عامة على برنامج تشغيل Secrets Store CSI.
كيف يقارن ملحق نظام مجموعة Dapr المُدار بعروض Dapr مفتوحة المصدر؟
يُعد ملحق نظام مجموعة Dapr المُدار أسهل طريقة لتوفير Dapr على نظام مجموعة AKS. باستخدام الملحق، يمكنك إلغاء تحميل إدارة إصدار وقت تشغيل Dapr عن طريق الاشتراك في الترقيات التلقائية. بالإضافة إلى ذلك، يقوم الملحق بتثبيت Dapr مع الإعدادات الافتراضية الذكية (على سبيل المثال، توفير مستوى تحكم Dapr في وضع التوفر العالي).
عند تثبيت Dapr مصدر مفتوح عبر helm أو Dapr CLI، يتحمل المطورون ومحافظو نظام المجموعة أيضا مسؤولية إصدارات وقت التشغيل وخيارات التكوين.
وأخيراً، يُعد ملحق Dapr هو ملحق AKS، لذلك يمكنك توقع نفس نهج الدعم مثل ميزات AKS الأخرى.
تعرف على المزيد حول الترحيل من Dapr مصدر مفتوح إلى ملحق Dapr ل AKS.
كيف يمكنني مصادقة مكونات Dapr باستخدام معرف Microsoft Entra باستخدام الهويات المدارة؟
- تعرف على كيفية مصادقة مكونات Dapr باستخدام معرف Microsoft Entra.
- تعرف على استخدام الهويات المدارة مع AKS.
كيف يمكنني التبديل إلى استخدام ملحق Dapr إذا كنت قد قمت بالفعل بتثبيت Dapr عبر أسلوب، مثل Helm؟
التوجيه الموصى به هو إلغاء تثبيت Dapr بالكامل من مجموعة AKS وإعادة تثبيته عبر ملحق نظام المجموعة. يمكنك أيضا التحقق من تثبيت Dapr الحالي وترحيله إلى AKS.
إذا قمت بتثبيت Dapr من خلال ملحق AKS، فإن توصيتنا هي الاستمرار في استخدام التمديد للإدارة المستقبلية لـ Dapr بدلًا من Dapr CLI. يمكن أن يؤدي دمج الأداتين إلى حدوث تعارضات ويؤدي إلى حدوث سلوك غير مرغوب فيه.
الخطوات التالية
Azure Kubernetes Service