دعم حاوية Linux في Azure Functions
عند تخطيط وتطوير وظائفك الفردية للتشغيل في Azure Functions، فإنك تركز عادة على التعليمات البرمجية نفسها. تسهل Azure Functions نشر مشروع التعليمات البرمجية فقط إلى تطبيق دالة في Azure. عند نشر مشروع التعليمات البرمجية الخاص بك إلى تطبيق دالة يعمل على Linux، يتم تشغيل المشروع في حاوية يتم إنشاؤها لك تلقائيا. تتم إدارة هذه الحاوية بواسطة Functions.
تدعم الوظائف أيضا عمليات نشر تطبيق الوظائف في حاويات. في نشر حاوية، يمكنك إنشاء مثيل تطبيق الوظائف الخاص بك في حاوية Docker محلية من صورة مستندة إلى مدعومة. يمكنك بعد ذلك نشر تطبيق الوظائف الحاوية هذا إلى بيئة استضافة في Azure. يتيح لك إنشاء حاوية تطبيق الوظائف تخصيص بيئة وقت التشغيل الفوري للتعليمة البرمجية للدالة أو التحكم فيها.
هام
عند إنشاء الحاويات الخاصة بك، يطلب منك الاحتفاظ بالصورة الأساسية للحاوية الخاصة بك محدثة إلى أحدث صورة أساسية مدعومة. الصور الأساسية المدعومة ل Azure Functions خاصة باللغة ويتم العثور عليها في مستودعات الصور الأساسية ل Azure Functions.
يلتزم فريق الوظائف بنشر التحديثات الشهرية لهذه الصور الأساسية. تتضمن التحديثات العادية آخر تحديثات الإصدار الثانوي وإصلاحات الأمان لكل من وقت تشغيل الوظائف واللغات. يجب تحديث الحاوية بانتظام من أحدث صورة أساسية وإعادة نشر الإصدار المحدث من الحاوية الخاصة بك.
خيارات استضافة الحاويات
هناك العديد من الخيارات لاستضافة تطبيقات الوظائف المعبأة في حاويات في Azure:
خيار الاستضافة | المزايا |
---|---|
Azure Container Apps | توفر Azure Functions دعما متكاملا لتطوير تطبيقات الوظائف المعبأة في حاويات ونشرها وإدارتها على Azure Container Apps. يمكنك هذا من إدارة تطبيقاتك باستخدام نفس أدوات الوظائف والصفحات في مدخل Microsoft Azure. استخدم Azure Container Apps لاستضافة حاويات تطبيق الوظائف عندما تحتاج إلى تشغيل الوظائف المستندة إلى الحدث في Azure في نفس البيئة مثل الخدمات المصغرة الأخرى أو واجهات برمجة التطبيقات أو مواقع الويب أو مهام سير العمل أو أي برامج مستضافة على الحاوية. تتيح لك استضافة تطبيقات الحاوية تشغيل وظائفك في بيئة مدارة تستند إلى Kubernetes مع دعم مضمن للمراقبة مفتوحة المصدر وmTLS وDpr و KEDA. يدعم المقياس إلى الصفر ويوفر نموذج استضافة الدفع مقابل ما تستخدمه بدون خادم. يمكنك أيضا طلب أجهزة مخصصة، حتى وحدات معالجة الرسومات، باستخدام ملفات تعريف حمل العمل. خيار الاستضافة الموصى به لتشغيل تطبيقات الوظائف المعبأة في حاويات على Azure. |
مجموعات Kubernetes الممكنة في Azure Arc (معاينة) | يمكنك استضافة تطبيقات الوظائف الخاصة بك على مجموعات Kubernetes الممكنة في Azure Arc إما كنشر للتعليمات البرمجية فقط أو في حاوية Linux مخصصة. يتيح لك Azure Arc إرفاق مجموعات Kubernetes بحيث يمكنك إدارتها وتكوينها في Azure. استضافة حاويات Azure Functions على مجموعات Kubernetes الممكنة في Azure Arc قيد المعاينة حاليا. لمزيد من المعلومات، راجع العمل مع الحاويات وAzure Functions. |
دالات Azure | يمكنك استضافة تطبيقات الوظائف الحاوية في Azure Functions عن طريق تشغيل الحاوية إما في خطة Elastic Premium أو خطة مخصصة. توفر لك استضافة الخطة المتميزة مزايا التحجيم الديناميكي. قد ترغب في استخدام استضافة خطة مخصصة للاستفادة من موارد خطة App Service غير المستخدمة الحالية. |
Kubernetes | نظرا لأن وقت تشغيل Azure Functions يوفر المرونة في الاستضافة حيث وكيف تريد، يمكنك استضافة حاويات تطبيق الوظائف وإدارتها مباشرة في مجموعات Kubernetes. KEDA (التحجيم التلقائي المستند إلى حدث Kubernetes) يقترن بسلاسة مع وقت تشغيل وظائف Azure والأدوات لتوفير تحجيم مستند إلى الحدث في Kubernetes. فقط ضع في اعتبارك أن تشغيل تطبيقات الوظائف المعبأة في حاويات على Kubernetes، إما باستخدام KEDA أو عن طريق النشر المباشر، هو جهد مفتوح المصدر يمكنك استخدامه مجانا، مع دعم أفضل جهد يوفره المساهمون ومن المجتمع. أنت مسؤول عن الحفاظ على حاويات تطبيق الوظائف الخاصة بك في نظام مجموعة، حتى عند النشر إلى خدمة Azure Kubernetes (AKS). |
مقارنة دعم الميزات
تعتمد درجة دعم الميزات والسلوكيات المختلفة ل Azure Functions عند تشغيل تطبيق الوظائف في حاوية على خيار استضافة الحاوية الذي تختاره.
الميزة/ السلوك | تطبيقات الحاوية (متكاملة) | تطبيقات الحاوية (مباشرة) | خطة متميزة | خطة مخصصة | Kubernetes |
---|---|---|---|---|---|
دعم المنتج | نعم | لا | نعم | نعم | لا |
تكامل مدخل الوظائف | نعم | لا | نعم | نعم | لا |
التحجيم المستند إلى الحدث | نعم5 | نعم (قواعد المقياس) | نعم | لا | لا |
الحد الأقصى للمقياس (المثيلات) | 10001 | 10001 | 1002 | 10-303 | يختلف حسب نظام المجموعة |
مثيلات المقياس إلى الصفر | نعم | نعم | لا | لا | KEDA |
حد وقت التنفيذ | غير مقيد6 | غير مقيد6 | غير مقيد7 | غير مقيد8 | اي |
نشر Core Tools | func azurecontainerapps |
لا | لا | لا | func kubernetes |
التنقيحات | لا | نعم | لا | لا | لا |
فتحات التوزيع | لا | لا | نعم | نعم | لا |
سجلات الدفق | نعم | نعم | نعم | نعم | لا |
الوصول إلى وحدة التحكم | غير متوفرحاليا 4 | نعم | نعم (باستخدام Kudu) | نعم (باستخدام Kudu) | نعم (في pods باستخدام kubectl ) |
تخفيف البدء البارد | الحد الأدنى من النسخ المتماثلة | قواعد المقياس | مثيلات جاهزة دائما/مسبقة التسخين | غير متوفر | n/a |
مصادقة App Service | غير متوفرحاليا 4 | نعم | نعم | نعم | لا |
أسماء المجالات المخصصة | غير متوفرحاليا 4 | نعم | نعم | نعم | لا |
شهادات المفتاح الخاص | غير متوفرحاليا 4 | نعم | نعم | نعم | لا |
الشبكات الظاهرية | نعم | نعم | نعم | نعم | نعم |
مجموعات التوافر | نعم | نعم | نعم | نعم | نعم |
التشخيصات | غير متوفرحاليا 4 | نعم | نعم | نعم | لا |
أجهزة مخصصة | نعم (ملفات تعريف حمل العمل) | نعم (ملفات تعريف حمل العمل) | لا | نعم | نعم |
وحدات معالجة الرسومات المخصصة | نعم (ملفات تعريف حمل العمل) | نعم (ملفات تعريف حمل العمل) | لا | لا | نعم |
عدد الذاكرة/وحدة المعالجة المركزية القابلة للتكوين | نعم | نعم | لا | لا | نعم |
خيار "منحة مجانية" | نعم | نعم | لا | لا | لا |
تفاصيل التسعير | فوترة تطبيقات الحاوية | فوترة تطبيقات الحاوية | فوترة الخطة المتميزة | فوترة الخطة المخصصة | تسعير AKS |
متطلبات اسم الخدمة | من 2 إلى 32 حرفا: يقتصر على الأحرف الصغيرة والأرقام والواصلات. يجب أن تبدأ بحرف وتنتهي بحرف أبجدي رقمي. | من 2 إلى 32 حرفا: يقتصر على الأحرف الصغيرة والأرقام والواصلات. يجب أن تبدأ بحرف وتنتهي بحرف أبجدي رقمي. | أقل من 64 حرفا: يقتصر على الأحرف الأبجدية الرقمية والواصلات. لا يمكن أن تبدأ بواصلة أو تنتهي بها. | أقل من 64 حرفا: يقتصر على الأحرف الأبجدية الرقمية والواصلات. لا يمكن أن تبدأ بواصلة أو تنتهي بها. | أقل من 253 حرفا: يقتصر على الأحرف الأبجدية الرقمية والواصلات. يجب أن تبدأ وتنتهي بحرف أبجدي رقمي. |
- في Container Apps، الافتراضي هو 10 مثيلات، ولكن يمكنك تعيين الحد الأقصى لعدد النسخ المتماثلة، والذي يحتوي على حد أقصى إجمالي يبلغ 1000. يتم الالتزام بهذا الإعداد طالما أن هناك حصة نسبية كافية من الذاكرات الأساسية المتاحة. عند إنشاء تطبيق الوظائف من مدخل Microsoft Azure، تكون مقيدا ب 300 مثيل.
- في بعض المناطق، يمكن لتطبيقات Linux على خطة Premium توسيع نطاقها إلى 100 مثيل. لمزيد من المعلومات، راجع مقالة الخطة المميزة .
- للحصول على حدود محددة لخيارات خطة App Service المختلفة، راجع حدود خطة App Service.
- تماثل الميزة هو هدف الاستضافة المتكاملة على Azure Container Apps.
- يتطلب KEDA؛ مدعوما من قبل معظم المشغلات. لمعرفة المشغلات التي تدعم التحجيم المستند إلى الحدث، راجع اعتبارات استضافة تطبيقات الحاوية.
- عند تعيين الحد الأدنى لعدد النسخ المتماثلة على صفر، تعتمد المهلة الافتراضية على المشغلات المحددة المستخدمة في التطبيق.
- لا توجد مدة مهلة تنفيذ قصوى مفروضة. ومع ذلك، فإن فترة السماح الممنوحة لتنفيذ الوظيفة هي 60 دقيقة أثناء المقياس، ويتم منح فترة سماح مدتها 10 دقائق أثناء تحديثات النظام الأساسي.
- يتطلب تعيين خطة App Service إلى Always On. يتم منح فترة سماح مدتها 10 دقائق أثناء تحديثات النظام الأساسي.
الشروع في العمل
استخدم هذه الارتباطات لبدء العمل مع Azure Functions في حاويات Linux:
أريد... | راجع المقالة: |
---|---|
إنشاء أول وظائف الحاوية الخاصة بي | إنشاء تطبيق دالة في حاوية Linux محلية |
إنشاء الوظائف ونشرها في Azure Container Apps | إنشاء أول وظائف حاوية على Azure Container Apps |
إنشاء وظائف حاوية ونشرها في Azure Functions | إنشاء أول Azure Functions في حاويات |