App Service وFunctions وLogic Apps على Azure Arc (معاينة)

يمكنك تشغيل App Service، وFunctions، وLogic Apps، على نظام مجموعة Kubernetes الممّكنة في Azure Arc. يمكن أن يكون نظام مجموعة Kubernetes محليا أو مستضافا في سحابة ما تابعة لجهة خارجية. يتيح النهج هذا لمطوري التطبيقات الاستفادة من ميزات App Service. في الوقت نفسه، يتيح لمسؤولي تكنولوجيا المعلومات الحفاظ على توافق الشركة من خلال استضافة تطبيقات App Service على البنية الأساسية الداخلية. كما يتيح لعوامل تشغيل تكنولوجيا المعلومات الأخرى حماية استثماراتهم السابقة في موفري السحابة الآخرين عن طريق تشغيل App Service على مجموعات Kubernetes الحالية.

إشعار

لمعرفة كيفية إعداد مجموعة Kubernetes لـ App Service وFunctions وLogic Apps، راجع إنشاء بيئة Kubernetes لـ App Service (معاينة).

في معظم الحالات، يحتاج مطورو التطبيقات إلى معرفة أي شيء أكثر من كيفية التوزيع إلى منطقة Azure الصحيحة التي تمثل بيئة Kubernetes الموزعة. بالنسبة لعوامل التشغيل الذين يقدمون البيئة ويحافظون على البنية الأساسية لمجموعة Kubernetes، يجب أن تكون على دراية بموارد Azure التالية:

قيود المعاينة العامة

تنطبق قيود المعاينة العامة الموضحة التالية على بيئات App Service Kubernetes. تتحدث قائمة القيود هذه مع توفر التغييرات والميزات.

القيد التفاصيل
مناطق Azure المدعومة شرق الولايات المتحدة، وغرب أوروبا
متطلبات شبكة نظام المجموعة يجب دعم LoadBalancer نوع الخدمة
متطلبات تخزين نظام المجموعة يجب أن يكون لديك فئة تخزين مرفقة بنظام المجموعة ومتاحة للاستخدام من قبل الملحق لدعم توزيع التطبيقات المستندة إلى التعليمات البرمجية وتحديث إصدارها عند الاقتضاء
ميزة: الشبكات غير متوفرة (الاعتماد على شبكة نظام المجموعة)
ميزة: هويات مدارة غير متوفرة
ميزة: مراجع Key vault غير متوفرة (يعتمد على الهويات المدارة)
ميزة: سحب الصور من ACR بهوية مدارة غير متوفرة (يعتمد على الهويات المدارة)
ميزة: التحرير في المدخل للوظائف والتطبيقات المنطقية غير متوفرة
ميزة: قائمة المدخل للوظائف أو المفاتيح غير متوفر إذا لم يكن نظام المجموعة قابلا للوصول بشكل عام
ميزة: نشر بروتوكول نقل الملفات غير متوفرة
السجلات يجب تكوين Log Analytics باستخدام ملحق نظام المجموعة؛ ليس لكل موقع

الوحدات التي أنشئت بواسطة ملحق App Service

عند تثبيت ملحق App Service على مجموعة Kubernetes الممكنة في Azure Arc، تنشأ العديد من الوحدات في مساحة اسم الإصدار التي حددت. تمكن هذه الوحدات نظام مجموعة Kubernetes من أن تكون ملحقا Microsoft.Web لموفر الموارد في Azure كما تدعم إدارة التطبيقات الخاصة بك وتشغيلها. بشكل اختياري، يمكنك اختيار تثبيت الملحق KEDA لتحجيم نطاق الحدث.

يصف الجدول التالي دور كل وحدة أنشئت بشكل افتراضي:

وحدة ‏‏الوصف
<extensionName>-k8se-app-controller وحدة عامل تشغيل الذاكرة الأساسية التي تنشأ موارد على نظام المجموعة وتحافظ على حالة المكونات.
<extensionName>-k8se-envoy طبقة وكيل الواجهة الأمامية لكافة طلبات مستوى البيانات. يوجه نسبة استخدام الشبكة الواردة إلى التطبيقات الصحيحة.
<extensionName>-k8se-activator وجهة توجيه بديلة للمساعدة في التطبيقات التي تم تحجيمها إلى الصفر بينما يحصل النظام على المثيل الأول المتوفر.
<extensionName>-k8se-build-service يدعم عمليات التوزيع ويخدم ميزة الأدوات المتقدمة.
<extensionName>-k8se-http-scaler ويراقب حجم الطلب الوارد من أجل توفير معلومات التحجيم إلى KEDA.
<extensionName>-k8se-img-cacher ويسحب العناصر النائبة وصور التطبيق إلى ذاكرة التخزين المؤقت المحلية إلى العقدة.
<extensionName>-k8se-log-processor كما يجمع السجلات من التطبيقات والمكونات الأخرى ويرسلها إلى Log Analytics.
placeholder-azure-functions-* يستخدم لتسريع عمليات البدء الباردة الخاصة بوظائف Azure.

بيئة App Service Kubernetes

يكون مورد بيئة App Service Kubernetes مطلوبا قبل إنشاء التطبيقات. فهو يمكن التكوين الشائع للتطبيقات في الموقع المخصص، مثل لاحقة DNS الافتراضية.

يمكنك إنشاء مورد بيئة Kubernetes واحد فقط في موقع مخصص. في معظم الحالات، لا يحتاج المطور الذي ينشئ التطبيقات ويوزعها إلى أن يكون على دراية مباشرة بالمورد. ويمكن استنتاجه مباشرة من معرف الموقع المخصص المتوفر. ومع ذلك، عند تحديد قوالب Azure Resource Manager، يحتاج أي مورد خطة إلى الرجوع إلى معرف مورد هذه البيئة مباشرة. يجب أن تتطابق كلا من قيم الموقع المخصصة للخطة والبيئة المحددة لها.

انظر الأسئلة المتداولة عن خدمة App Service وFunctions وLogic Apps في Azure Arc (معاينة)

كم يتكلف؟

تكون خدمة App Service في Azure Arc مجانية أثناء المعاينة العامة.

هل تطبيقات كلا من Windows وLinux مدعومة؟

تدعم التطبيقات المستندة إلى Linux فقط، بواسطة كل من التعليمات البرمجية والحاويات المخصصة. تطبيقات Windows غير مدعومة.

أي من مكدسات التطبيقات المضمنة هذه مدعومة؟

تدعم جميع مكدسات Linux المضمنة.

هل جميع أنواع توزيع التطبيقات مدعومة؟

توزيع FTP غير مدعوم. حاليا يكون az webapp up غير مدعوم أيضا. يتم دعم أساليب التوزيع الأخرى، بما في ذلك Git و ZIP و CI/CD و Visual Studio و Visual Studio Code.

أي من ميزات App Service هذه مدعومة؟

أثناء فترة المعاينة، يتم التحقق من بعض ميزات App Service. أثناء الدعم، سيتم تنشيط خيارات التنقل اليسرى في مدخل Microsoft Azure. تظل الميزات غير المدعومة باللون الرمادي.

هل جميع ميزات الشبكات مدعومة؟

‏‏لا. ميزات الشبكات مثل الاتصالات المختلطة أو تكامل الشبكة الظاهرية غير مدعومة. تمت إضافة دعمتقييد الوصول في أبريل 2022. يجب التعامل مع الشبكات مباشرة في قواعد الشبكات في نظام مجموعة Kubernetes نفسها.

هل الهويات المدارة مدعومة؟

‏‏لا. لا يمكن تعيين هويات مدارة للتطبيقات عند التشغيل في Azure Arc. في حال إن كان تطبيقك بحاجة إلى هوية للعمل مع مورد Azure آخر، مع الأخذ في الاعتبار استخدام كيان خدمة تطبيق بدلا من ذلك.

هل يوجد أية حدود للتحجيم؟

جميع التطبيقات الموزعة باستخدام Azure App Service على Kubernetes مع Azure Arc قادرة على التوسع ضمن حدود نظام مجموعة Kubernetes الأساسية. في حال إن نفدت مجموعة Kubernetes الأساسية من موارد الحوسبة المتوفرة (المعالج والذاكرة في المقام الأول)، فلن تتمكن التطبيقات إلا من توسع عدد مثيلات التطبيق التي يمكن أن يقوم Kubernetes بجدولتها مع المورد المتاح.

ما هي السجلات التي يتم جمعها؟

تكتب سجلات كل من مكونات النظام والتطبيقات الخاصة بك إلى الإخراج القياسي. يمكنك جمع كلا النوعين من السجلات للتحليل باستخدام أدوات Kubernetes القياسية. يمكنك أيضا تكوين ملحق نظام مجموعة App Service باستخدام مساحة عمل Log Analytics، فهو يرسل جميع السجلات إلى مساحة العمل هذه.

بشكل افتراضي، ترسل السجلات من مكونات النظام إلى فريق Azure. لا يتم إرسال سجلات التطبيق. يمكنك منع نقل هذه السجلات عن طريق إعداد logProcessor.enabled=false باعتباره إعداد تكوين ملحق. سيؤدي إعداد التكوين هذا أيضا إلى تعطيل إعادة توجيه التطبيق إلى مساحة عمل Log Analytics. من الممكن أن يؤثر تعطيل معالج السجل على الوقت اللازم لأية حالات دعم، وسيطلب منك جمع السجلات من الإخراج القياسي من خلال بعض الوسائل الأخرى.

ماذا أفعل في حال إن رأيت خطأ في تسجيل موفر الخدمة؟

عند إنشاء مورد بيئة Kubernetes، من الممكن أن ترى بعض الاشتراكات خطأ وهذا يعني أن «موفر الموارد المسجل غير موجودا». تتضمن تفاصيل الخطأ مجموعة من المواقع وإصدارات واجهة برمجة التطبيقات التي تعتبر صالحة. إن استعدت رسالة الخطأ هذه، يجب إعادة تسجيل الاشتراك باستخدام موفر Microsoft.Web، وهي عملية لا تؤثر على التطبيقات أو واجهات برمجة التطبيقات الموجودة. لإعادة التسجيل، استخدم واجهة سطر أوامر Azure az provider register --namespace Microsoft.Web --wait. ثم أعد محاولة تنفيذ أمر بيئة Kubernetes.

هل يمكنني توزيع ملحق خدمات التطبيق على نظام مجموعة مستند إلى ARM64؟

المجموعات المستندة إلى ARM64 غير مدعومة في هذا الوقت.

ما هي توزيعات Kubernetes التي يمكنني توزيع الملحق عليها؟

تم التحقق من صحة الملحق على AKS وAKS على Azure Stack HCI وGoogle Kubernetes Engine وخدمة Amazon Elastic Kubernetes وواجهة برمجة تطبيقات مجموعة Kubernetes.

ملاحظات عن إصدار الملحق

ملحق خدمات التطبيق بإصدار 0.9.0 في (مايو 2021)

  • إصدار المعاينة العامة الأولية لملحق خدمات التطبيق.
  • دعم عمليات التوزيع المستندة إلى التعليمات البرمجية والحاوية لتطبيقات الويب والوظائف وتطبيقات المنطق.
  • دعم وقت تشغيل تطبيق الويب --- .NET 3.1 و5.0؛ وعقدة JS 12 و14؛ ولغة برمجة بايثون 3.6 و3.7 و3.8؛ PHP 7.3 و7.4؛ Ruby 2.5 و2.5.5 و2.6 و2.6.2؛ Java SE 8u232 و8u242 و8u252 و11.05 و11.06 و11.07؛ Tomcat 8.5 و8.5.41 و8.5.53 و8.5.57 و9.0 و9.0.20 و9.0.33 و9.0.37.

ملحق خدمات التطبيق بإصدار 0.10.0 في (نوفمبر 2021)

  • إزالة متطلب عنوان بروتوكول الإنترنت الثابت المعين مسبقا والمطلوب للتعيين إلى نقطة نهاية Envoy
  • ترقية Keda إلى الإصدار 2.4.0
  • ترقية Envoy إلى الإصدار 1.19.0
  • ترقية وقت تشغيل Azure Function إلى الإصدار 3.3.1
  • تعيين عدد النسخ المتماثلة الافتراضي لوحدة تحكم التطبيق ووحدة تحكم Envoy إلى 2 لإضفاء المزيد من التحكم

يكون الملحق الخاص بك في الإصدار الثابت، وعند تعيين إصدار auto-upgrade-minor-إلى true، تتم ترقية الملحق تلقائيا. لترقية الملحق يدويا إلى أحدث إصدار موجود، يمكنك تشغيل الأمر:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.10.0

ملحق خدمات التطبيق بإصدار 0.11.0 في (ديسمبر 2021)

  • إضافة دعم Application Insights لتطبيقات الويب Java وNET
  • دعم إضافي لتطبيقات ويب .NET 6.0
  • إزالة NET Core 2.0
  • حل المشكلات التي تسببت في فشل عمليات تبديل الفتحات
  • حل المشكلات التي واجهها العملاء أثناء إنشاء تطبيقات ويب Ruby

يكون الملحق الخاص بك في الإصدار الثابت، وعند تعيين إصدار auto-upgrade-minor-إلى true، تتم ترقية الملحق تلقائيا. لترقية الملحق يدويا إلى أحدث إصدار موجود، يمكنك تشغيل الأمر:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.11.0

ملحق خدمات التطبيق بإصدار 0.11.1 في (ديسمبر 2021)

  • إصدارا ثانويا لحل مشكلة تحديث CRD

يكون الملحق الخاص بك في الإصدار الثابت، وعند تعيين إصدار auto-upgrade-minor-إلى true، تتم ترقية الملحق تلقائيا. لترقية الملحق يدويا إلى أحدث إصدار موجود، يمكنك تشغيل الأمر:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.11.1

ملحق خدمات التطبيق بإصدار 0.12.0 في (يناير 2022)

  • دعم الوكيل الصادر
  • دعم الإصدارات المتوازية في خدمة تحديث الإصدار
  • ترقية Envoy إلى الإصدار 1.1.20
  • تم حل المشكلة باستخدام دعم Application Insights لتطبيقات.NET

يكون الملحق الخاص بك في الإصدار الثابت، وعند تعيين إصدار auto-upgrade-minor-إلى true، تتم ترقية الملحق تلقائيا. لترقية الملحق يدويا إلى أحدث إصدار موجود، يمكنك تشغيل الأمر:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.0

ملحق خدمات التطبيق بإصدار 0.12.1 في (مارس 2022)

  • تم حل المشكلة باستخدام دعم الوكيل الصادر لتمكين تسجيل الدخول إلى مساحة عمل Log Analytics

يكون الملحق الخاص بك في الإصدار الثابت، وعند تعيين إصدار auto-upgrade-minor-إلى true، تتم ترقية الملحق تلقائيا. لترقية الملحق يدويا إلى أحدث إصدار موجود، يمكنك تشغيل الأمر:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.1

ملحق خدمات التطبيق بإصدار 0.12.2 في (مارس 2022)

  • تحديث لحل حالات فشل الترقية عند الترقية من الإصدار 0.12.0 في حال إن زاد طول اسم الملحق عن 35 حرفا

يكون الملحق الخاص بك في الإصدار الثابت، وعند تعيين إصدار auto-upgrade-minor-إلى true، تتم ترقية الملحق تلقائيا. لترقية الملحق يدويا إلى أحدث إصدار موجود، يمكنك تشغيل الأمر:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.2

ملحق خدمات التطبيق بإصدار 0.13.0 في (أبريل 2022)

  • دعم إضافي لتكامل Application Insights دون تعليمات برمجية لتطبيقات Node JS
  • دعم إضافي لقيود الوصول عبر واجهة سطر الأوامر
  • تعرض المزيد من التفاصيل عند فشل تثبيت الملحق، للمساعدة في استكشاف المشكلات وإصلاحها

يكون الملحق الخاص بك في الإصدار الثابت، وعند تعيين إصدار auto-upgrade-minor-إلى true، تتم ترقية الملحق تلقائيا. لترقية الملحق يدويا إلى أحدث إصدار موجود، يمكنك تشغيل الأمر:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.0

ملحق خدمات التطبيق بإصدار 0.13.1 في (أبريل 2022)

  • تحديث لحل حالات فشل الترقية التي شوهدت أثناء الترقية التلقائية لأنظمة المجموعات إلى الإصدار 0.13.0

يكون الملحق الخاص بك في الإصدار الثابت، وعند تعيين إصدار auto-upgrade-minor-إلى true، تتم ترقية الملحق تلقائيا. لترقية الملحق يدويا إلى أحدث إصدار موجود، يمكنك تشغيل الأمر:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.1

ملحق خدمات التطبيقات الإصدار 0.13.5 (ديسمبر 2023)

  • تحديث لدعم الإصدار 1.26 من Kubernetes والإصدارات الأحدث
  • تحديث Envoy إلى 1.2.1
  • تحديث Keda إلى الإصدار 2.10.0
  • تحديث EasyAuth إلى الإصدار 1.6.20
  • تحديث الصور الأساسية للغات المدعومة

يكون الملحق الخاص بك في الإصدار الثابت، وعند تعيين إصدار auto-upgrade-minor-إلى true، تتم ترقية الملحق تلقائيا. لترقية الملحق يدويا إلى أحدث إصدار موجود، يمكنك تشغيل الأمر:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.5

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

إنشاء بيئة App Service Kubernetes (معاينة)