مشاركة عبر


الموثوقية في مثيلات حاوية Azure

تصف هذه المقالة دعم الموثوقية في Azure Container Instances، والتي توفر طريقة مباشرة لتشغيل حاويات لينكس أو ويندوز في Azure، دون الحاجة لإدارة الآلات الافتراضية (VMs) أو اعتماد خدمة أكثر تعقيدا وأعلى مستوى.

عند استخدام Azure، تعد الموثوقية مسؤولية مشتركة. توفر Microsoft مجموعة من الإمكانات لدعم المرونة والاسترداد. أنت مسؤول عن فهم كيفية عمل هذه الإمكانات في جميع الخدمات التي تستخدمها، وتحديد الإمكانات التي تحتاجها لتحقيق أهداف عملك وأهداف وقت التشغيل.

تصف هذه المقالة كيفية جعل نسخ حاويات Azure مقاومة لمجموعة متنوعة من الانقطاعات والمشاكل المحتملة، بما في ذلك الأعطال المؤقتة، انقطاعات مناطق التوفر، وانقطاعات المناطق. تسلط الضوء على بعض المعلومات الأساسية حول اتفاقية مستوى خدمة نسخ حاويات Azure (SLA).

توصيات نشر الإنتاج للموثوقية

لزيادة موثوقية تطبيقات الإنتاج المبنية على مثيلات الحاوية، نوصي باتخاذ الإجراءات التالية:

نظرة عامة على بنية الموثوقية

لاستخدام مثيلات الحاوية، يمكنك نشر مجموعة حاويات. تحتوي مجموعة الحاويات على حاوية واحدة أو أكثر. يتم إنشاء كل حاوية من صورة حاوية، والتي يتم تخزينها في سجل مثل Azure Container Registry.

يتم نشر جميع الحاويات في مجموعة الحاويات معا كوحدة منطقية واحدة وتشترك في نفس البنية الأساسية المادية.

يوضح الرسم التخطيطي التالي العلاقة بين مجموعات الحاويات والحاويات والصور.

رسم تخطيطي يوضح مجموعة حاويات بها حاويتان. تستخدم كل حاوية صورة منفصلة في السجل.

تعرض الصورة حاويتين داخل قسم مجموعة حاويات. يقوم خطان منقطان بتوصيل الحاويات بقسمين للصور في قسم التسجيل.

توفر مثيلات الحاوية الميزات التالية لإدارة مجموعات الحاويات:

  • يوفر NGroups (معاينة) مجموعة من الإمكانات لإدارة مجموعات حاويات متعددة ذات صلة. عند إنشاء NGroup، يمكنك تحديد عدد مجموعات الحاويات المراد إنشاؤها. توفر مثيلات الحاوية إمكانات مثل عمليات طرح الترقية التلقائية ونشر مجموعات الحاويات عبر مناطق التوفر.

  • تنشئ تجمعات الاستعداد مجموعة من مجموعات الحاويات المتوفرة مسبقا والتي يمكن استخدامها استجابة لنسبة استخدام الشبكة الواردة. تم تصميم تجمعات الاستعداد لتحسين إنشاء مجموعات الحاويات ولا تهدف إلى زيادة مرونتك.

المرونة في مواجهة الأعطال العابرة

الأخطاء العابرة هي حالات فشل قصيرة متقطعة في المكونات. تحدث بشكل متكرر في بيئة موزعة مثل السحابة، وهي جزء طبيعي من العمليات. الأخطاء العابرة تصحح نفسها بعد فترة زمنية قصيرة. من المهم أن تتمكن تطبيقاتك من معالجة الأخطاء العابرة، عادة عن طريق إعادة محاولة الطلبات المتأثرة.

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

عادة ما تعالج SDKs التي توفرها Microsoft الأخطاء العابرة. نظرا لأنك تستضيف تطبيقاتك الخاصة على مثيلات الحاوية، اتخذ خطوات لتقليل فرصة حدوث أخطاء عابرة:

  • قم بتشغيل مجموعات حاويات متعددة لأحمال العمل المهمة للتأكد من أن الفشل في حاوية واحدة أو مجموعة حاويات لا يؤثر على التطبيق بأكمله.

  • قم ببناء التعليمات البرمجية للتطبيق لتكون مرنة ضد الأخطاء العابرة في الخدمات التي تتصل بها، مثل استخدام نهج إعادة المحاولة مع استراتيجيات التراجع.

لمزيد من المعلومات حول الأخطاء الأخرى التي قد تحدث في وقت التشغيل وكيفية الاستجابة لها، راجع المشكلات أثناء وقت تشغيل مجموعة الحاويات.

المرونة في مواجهة حالات فشل منطقة التوفر

مناطق التوفر هي مجموعات منفصلة فعليا من مراكز البيانات داخل منطقة Azure. عند فشل منطقة واحدة، يمكن أن تفشل الخدمات إلى إحدى المناطق المتبقية.

تدعم مثيلات الحاوية مناطق التوفر بطرق مختلفة، اعتمادا على كيفية نشر مجموعات الحاويات الخاصة بك:

  • مجموعات الحاويات التي تم إنشاؤها يدويا: مجموعة الحاويات الفردية هي مورد منطقي ، مما يعني أنه يمكن نشرها في منطقة توفر واحدة تحددها. يتم نشر جميع الحاويات داخل المجموعة في نفس منطقة التوفر. إذا كانت منطقة التوفر هذه بها انقطاع، فقد تواجه مجموعة الحاويات وجميع حاوياتها وقت تعطل.

    يوضح الرسم التخطيطي التالي مجموعة حاويات تم نشرها يدويا في منطقة التوفر 1:

    رسم تخطيطي يوضح مجموعة حاويات مع حاويتين منتشرتين في منطقة توفر واحدة.

    تعرض الصورة ثلاث مناطق توفر: منطقة التوفر 1 ومنطقة التوفر 2 ومنطقة التوفر 3. تتضمن مجموعة الحاويات في منطقة توافر الخدمات 1 حاويتين.

    إشعار

    لضمان استمرار تشغيل التطبيق الخاص بك عندما تواجه أي منطقة واحدة في المنطقة انقطاعا، نوصي بإنشاء مجموعتين من الحاويات على الأقل عبر منطقتي توفر مختلفتين.

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

  • NGroups: عند نشر NGroup، يمكنك تحديد منطقة واحدة أو أكثر لنشرها فيها. إذا قمت بنشر NGroup إلى منطقتين أو أكثر، فستكون NGroup زائدة عن الحاجة ، ولا يؤدي انقطاع منطقة توفر واحدة إلا إلى حدوث مشكلات لمجموعات الحاويات داخل المنطقة المتأثرة.

    يوضح الرسم التخطيطي التالي NGroup الذي تم نشره في ثلاث مناطق توفر:

    رسم تخطيطي يوضح NGroup بثلاث مجموعات حاويات، تم نشرها في ثلاث مناطق توفر.

    تعرض الصورة ثلاث مناطق توفر. تتضمن كل منطقة توفر مجموعة حاويات وحاويتين. يمتد المستطيل المسمى NGroupdesiredCount=3، zones=1,2,3 على جميع مناطق التوفر الثلاث.

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

  • حمامات السباحة الاحتياطية: عند نشر تجمع استعداد، يمكنك اختياريا تحديد منطقة واحدة أو أكثر. قد يطلب النظام الأساسي حاويات عبر المناطق التي تحددها.

    ومع ذلك، فإن تجمعات الاستعداد ليست زائدة عن الحاجة أو مرنة للمنطقة لأنه لا يوجد ضمان بإنشاء الحاويات في مناطق متعددة. في حالة حدوث انقطاع في المنطقة، من المحتمل أن يتم وضع جميع الحاويات الموجودة في المسبح في المنطقة المتأثرة.

    نظرا لأن تجمعات الاستعداد غير مصممة لدعم المرونة في مواجهة حالات فشل المنطقة، فإن هذا الدليل لا يصف السلوك التفصيلي لتجمعات الاستعداد مع مناطق التوفر.

    هام

    لم يتم تصميم حمامات السباحة الاحتياطية لتكون مرنة في المنطقة. لا ينبغي استخدامها لأحمال العمل التي تتطلب المرونة في مواجهة حالات فشل المنطقة.

دعم المنطقة

يتم دعم عمليات توزيع مجموعة الحاويات في المنطقة في جميع المناطق ذات مناطق التوفر.

Requirements

  • تتوفر عمليات التوزيع النطاقية لمجموعات حاويات Linux وWindows Server 2019.

  • لتحديد منطقة توفر، يجب عليك استخدام رمز SKU القياسي. مجموعات الحاويات الإقليمية غير متوفرة مع رمز SKU السري.

الاعتبارات

لا تدعم الحاويات الفورية مناطق التوفر وتكون دائما غير منطقية.

Cost

لا توجد تكلفة إضافية لتكوين مناطق التوفر لمجموعة حاويات.

تكوين دعم منطقة التوفر

  • إنشاء مجموعات حاويات مع دعم منطقة التوفر. يعتمد النهج الذي تستخدمه لتكوين مناطق التوفر على كيفية إنشاء مجموعات الحاويات.

    • مجموعات الحاويات التي تم إنشاؤها يدويا: لإنشاء مجموعة حاويات منطقة في منطقة معينة، يمكنك استخدام إحدى الطرق التالية:

    • NGroups: يمكنك نشر NGroup متكرر في المنطقة باستخدام ملف Bicep أو قالب ARM وتحديد مناطق متعددة. لمزيد من المعلومات، راجع NGroups مع عينة المناطق.

    • حمامات السباحة الاحتياطية: يمكنك نشر تجمع الاستعداد الذي يستخدم مناطق التوفر عن طريق تحديد منطقة واحدة أو أكثر عند إنشاء التجمع أو تحديثه. ومع ذلك، قد لا يتم إنشاء الحاويات في مناطق متعددة. لا ينبغي استخدام تجمعات الاستعداد لأحمال العمل التي تتطلب المرونة لحالات فشل المنطقة. لمزيد من المعلومات، راجع إنشاء تجمع احتياطي لمثيلات الحاوية.

  • تمكين دعم منطقة التوفر على الموارد الموجودة. يعتمد النهج الذي تستخدمه لتكوين مناطق التوفر على كيفية إنشاء مجموعات الحاويات.

    • مجموعات الحاويات التي تم إنشاؤها يدويا: لا يمكنك تمكين مناطق التوفر على مجموعة حاويات غير منطقية موجودة. يجب حذف مجموعة الحاويات وإنشاء مجموعة حاويات منطقية.

    • NGroups: لا يمكنك تمكين مناطق التوفر على NGroup غير منطقي موجود. يجب حذف NGroup وإنشاء NGroup متكرر في المنطقة.

    • حمامات السباحة الاحتياطية: لا يمكنك تمكين مناطق التوفر على تجمع الاستعداد غير الإقليمي موجود. يجب حذف مجموعة الحاويات وإنشاء تجمع استعداد جديد يستخدم مناطق توفر متعددة.

  • نقل مجموعات الحاويات بين المناطق أو تعطيل دعم منطقة التوفر. يعتمد النهج الذي تستخدمه لتعديل مناطق التوفر على كيفية إنشاء مجموعات الحاويات.

    • مجموعات الحاويات التي تم إنشاؤها يدويا: لتغيير منطقة إتاحة مجموعة حاويات، يجب حذف مجموعة الحاويات وإنشاء مجموعة حاويات أخرى مع منطقة التوفر الجديدة. لمعرفة كيفية حذف مجموعة الحاويات، راجع الموارد التالية:

    • NGroups: يمكنك إضافة مناطق إلى NGroup، ولكن لا يمكنك إزالة المناطق.

    • حمامات السباحة الاحتياطية: يمكنك إضافة مناطق إلى تجمع الاستعداد، ولكن لا يمكنك إزالة المناطق.

توزيع مجموعة الحاويات

تعتمد طريقة توزيع مجموعات الحاويات عبر مناطق التوفر على كيفية نشر مجموعات الحاويات الخاصة بك.

  • مجموعات الحاويات التي تم إنشاؤها يدويا: أنت مسؤول عن توزيع مجموعات الحاويات التي تم إنشاؤها يدويا عبر مناطق توفر متعددة.

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

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

تخطيط القدرات وإدارتها

للتحضير لفشل منطقة التوفر، ضع في اعتبارك زيادة توفير عدد مجموعات الحاويات التي تقوم بنشرها. يسمح هذا النهج للحل بتحمل بعض فقدان السعة والاستمرار في العمل دون تدهور الأداء. لمزيد من المعلومات، راجع إدارة السعة باستخدام الإفراط في التوفير.

يعتمد النهج الذي تستخدمه لتوفير مجموعات الحاويات الزائدة على كيفية نشر مجموعات الحاويات الخاصة بك.

  • مجموعات الحاويات التي تم إنشاؤها يدويا: أنت مسؤول عن تخطيط سعة مجموعات الحاويات التي تم إنشاؤها يدويا، بما في ذلك تخطيط عدد مجموعات الحاويات المراد نشرها في كل منطقة.

  • NGroup: ضع في اعتبارك الإفراط في توفير قدرة NGroup لتحمل فقدان المنطقة.

  • حمامات السباحة الاحتياطية: لم يتم تصميم مجمعات الاستعداد لتكون مرنة لفشل المنطقة. ضع في اعتبارك استخدام تجمعات احتياطية متعددة في مناطق مختلفة، أو استخدم NGroups.

السلوك عندما تكون جميع المناطق صحية

يصف هذا القسم ما يمكن توقعه عند تكوين موارد مثيلات الحاوية لدعم منطقة التوفر وتشغيل جميع مناطق التوفر.

  • توجيه حركة المرور بين المناطق: أنت مسؤول عن توجيه حركة المرور إلى حاوياتك. على سبيل المثال، يمكنك استخدام Azure Application Gateway كبوابة وموازن تحميل لمجموعات الحاويات الخاصة بك.

    إذا كنت تستخدم NGroups أو تجمعات الاستعداد، فأنت مسؤول عن موازنة التحميل عبر كل حاوية. تحتاج أيضا إلى تكوين نظام توجيه نسبة استخدام الشبكة للكشف عن صحة كل مجموعة حاويات وإعادة توجيه نسبة استخدام الشبكة إلى مجموعة بديلة عند الضرورة.

  • النسخ المتماثل للبيانات بين المناطق: الحاويات ومجموعات الحاويات عديمة الحالة. يمكنك إرفاق مشاركة الملف الخاصة بك، أو الاتصال بقواعد البيانات أو خدمات التخزين الأخرى من داخل تطبيقاتك. أنت مسؤول عن التأكد من أن مشاركات الملفات وخدمات التخزين هذه مرنة في المنطقة. راجع أدلة الموثوقية لكل خدمة لفهم كيفية جعل كل منطقة مكون مرنة.

السلوك أثناء فشل المنطقة

يصف هذا القسم ما يمكن توقعه عند تكوين موارد مثيلات الحاوية لدعم منطقة التوفر وهناك انقطاع في منطقة التوفر.

  • الكشف والاستجابة: تعتمد مسؤولية الكشف عن حالات فشل المنطقة والاستجابة المرتبطة بها على كيفية نشر مجموعات الحاويات الخاصة بك.

    • مجموعات الحاويات التي تم إنشاؤها يدويا: تحتاج إلى اكتشاف فقدان منطقة توافر وبدء تجاوز الفشل إلى مجموعة حاويات ثانوية تقوم بإنشائها في منطقة توفر أخرى.

    • NGroups: النظام الأساسي لمثيلات الحاوية مسؤول عن اكتشاف فشل في منطقة توافر الخدمات والاستجابة.

      ومع ذلك، فأنت مسؤول عن ضمان توجيه حركة المرور إلى حاويات في منطقة سليمة.

    • حمامات السباحة الاحتياطية: النظام الأساسي لمثيلات الحاوية غير مضمون للاستجابة لحالات فشل المنطقة لتجمعات الاستعداد. لا ينبغي استخدام تجمعات الاستعداد لأحمال العمل التي تتطلب المرونة لحالات فشل المنطقة.

  • الإعلام: لا تقوم Microsoft بإعلامك تلقائيا عندما تكون المنطقة معطلة. ومع ذلك، يمكنك استخدام Azure Service Health لفهم السلامة العامة للخدمة، بما في ذلك أي حالات فشل في المنطقة، ويمكنك إعداد تنبيهات حماية الخدمة لإعلامك بالمشكلات.
  • الطلبات النشطة: إذا فشلت المنطقة، فمن المحتمل أن تتوقف جميع الحاويات التي تعمل في تلك المنطقة، بما في ذلك أي عمل نشط يتم التعامل معه

  • فقدان البيانات المتوقع: نظرا لأن الحاويات ومجموعات الحاويات عديمة الحالة، فلا يتوقع فقدان البيانات من فشل المنطقة. ومع ذلك، فأنت مسؤول عن التأكد من أن كل مكون في حمل العمل الخاص بك مرن في المنطقة، بما في ذلك خدمات التخزين وقواعد البيانات.

  • التوقف عن العمل المتوقع: يعتمد وقت التوقف الذي يمكن أن تتوقعه من فشل المنطقة على كيفية نشر مجموعات الحاويات الخاصة بك.

    • مجموعات الحاويات التي تم إنشاؤها يدويا: بالنسبة لمجموعات الحاويات المناطقية، عندما تكون المنطقة غير متوفرة، لا تتوفر مجموعة الحاويات والحاويات الخاصة بها حتى يتم استرداد منطقة التوفر.

    • NGroups: بالنسبة إلى NGroups، إذا تعطل منطقة واحدة، يظل التطبيق الخاص بك متاحا لأن مجموعات الحاويات المتبقية داخل NGroups تستمر في العمل في مناطق أخرى. لا يتوقع حدوث توقف.

    • حمامات السباحة الاحتياطية: لا توفر مجمعات الاستعداد مرونة المنطقة. إذا كانت جميع مجموعات الحاويات في تجمع الاستعداد في منطقة واحدة، فمن المحتمل أن تصبح جميع مجموعات الحاويات وحاوياتها غير متوفرة حتى يتم استرداد منطقة التوفر.

  • إعادة توجيه حركة المرور: نظرا لأنك مسؤول عن توجيه نسبة استخدام الشبكة إلى الحاويات الخاصة بك، فأنت مسؤول أيضا عن إعادة توجيه نسبة استخدام الشبكة في حالة فشل مجموعة حاويات بسبب انقطاع منطقة توفر.

استعادة المنطقة

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

اختبار فشل المنطقة

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

القدرة على الصمود في وجه الإخفاقات على مستوى المنطقة

مثيلات الحاوية هي خدمة منطقة واحدة. إذا أصبحت المنطقة غير متوفرة، فلن تتوفر أيضا مجموعات الحاويات والحاويات الخاصة بها.

حلول مخصصة متعددة المناطق للمرونة

يمكنك اختياريا نشر مجموعات حاويات منفصلة في مناطق متعددة. أنت مسؤول عن نشر مجموعات الحاويات وتكوينها في كل منطقة. تحتاج أيضا إلى تكوين موازنة التحميل باستخدام خدمة مثل Azure Traffic Manager أو Azure Front Door. أنت مسؤول عن أي مزامنة للبيانات وتجاوز الفشل وإرجاع الفشل.

اتفاقية مستوى الخدمة

تصف اتفاقية مستوى الخدمة (SLA) لخدمات Azure التوفر المتوقع لكل خدمة والشروط التي يجب أن يفي بها الحل الخاص بك لتحقيق توقع التوفر هذا. لمزيد من المعلومات، راجع اتفاقيات مستوى الخدمة للخدمات عبر الإنترنت.