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 التالية:
- نظام المجموعة المتصل، وهو إسقاط Azure للبنية الأساسية لمجموعة Kubernetes. لمزيد من المعلومات، راجع ما هي مجموعات برامج Kubernetes الممكنة في Azure Arc؟.
- ملحق نظام المجموعة، الذي هو مصدر فرعي لمورد نظام المجموعة المتصل. يقوم ملحق App Service بتثبيت الوحدات المطلوبة في نظام المجموعة المتصل الخاص بك. لمزيد من المعلومات عن ملحقات نظام المجموعة، راجع ملحقات نظام المجموعة على مجموعات Kubernetes الممكنة في Azure Arc.
- موقع مخصص، يجمع مجموعة من الملحقات معا ويعينها إلى مساحة اسم الموارد التي أنشئت. لمزيد من المعلومات، راجع المواقع المخصصة أعلى مجموعات Kubernetes الممكنة في Azure Arc.
- بيئة App Service Kubernetes، التي تمكن التكوين الشائع عبر التطبيقات ولكنها لا تتعلق بعمليات نظام المجموعة. من الناحية التعريفية، فإنها توزع في مورد الموقع المخصص، وينشئ مطورو التطبيقات تطبيقات في هذه البيئة. يوصف هذا المورد بمزيد من التفصيل في بيئة App Service Kubernetes.
قيود المعاينة العامة
تنطبق قيود المعاينة العامة الموضحة التالية على بيئات App Service Kubernetes. تتحدث قائمة القيود هذه مع توفر التغييرات والميزات.
القيد | التفاصيل |
---|---|
مناطق Azure المدعومة | شرق الولايات المتحدة، وغرب أوروبا |
متطلبات شبكة نظام المجموعة | يجب دعم LoadBalancer نوع الخدمة |
متطلبات نظام تشغيل العقدة | Linux فقط. |
متطلبات تخزين نظام المجموعة | يجب أن يكون لديك فئة تخزين مرفقة بنظام المجموعة ومتاحة للاستخدام من قبل الملحق لدعم توزيع التطبيقات المستندة إلى التعليمات البرمجية وتحديث إصدارها عند الاقتضاء |
ميزة: الشبكات | غير متوفرة (الاعتماد على شبكة نظام المجموعة) |
ميزة: هويات مدارة | غير متوفرة |
ميزة: مراجع 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 (معاينة)
- كم يكلف ذلك؟
- هل تطبيقات كلا من Windows وLinux مدعومة؟
- هل يمكن تثبيت الملحق على عقد Windows؟
- أي من مكدسات التطبيقات المضمنة هذه مدعومة؟
- هل جميع أنواع توزيع التطبيقات مدعومة؟
- أي من ميزات App Service هذه مدعومة؟
- هل جميع ميزات الشبكات مدعومة؟
- هل الهويات المدارة مدعومة؟
- هل يوجد أي حدود للتحجيم؟
- ما هي السجلات التي يتم جمعها؟
- ماذا أفعل في حال إن رأيت خطأ في تسجيل موفر الخدمة؟
- هل يمكنني نشر ملحق خدمات التطبيق على نظام مجموعة مستند إلى Arm64؟
- ما هي توزيعات Kubernetes التي يمكنني توزيع الملحق عليها؟
كم يتكلف؟
تكون خدمة App Service في Azure Arc مجانية أثناء المعاينة العامة.
هل تطبيقات كلا من Windows وLinux مدعومة؟
تدعم التطبيقات المستندة إلى Linux فقط، بواسطة كل من التعليمات البرمجية والحاويات المخصصة. تطبيقات Windows غير مدعومة.
هل يمكن تثبيت الملحق على عقد Windows؟
لا، لا يمكن تثبيت الملحق على عقد Windows. يدعم الملحق التثبيت على عقد Linux فقط.
أي من مكدسات التطبيقات المضمنة هذه مدعومة؟
تدعم جميع مكدسات 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