Azure Container Instances ومنسقي الحاوية

نظراً لصغر حجمها واتجاه التطبيق، فإن الحاويات مناسبة تماماً لبيئات التسليم السريعة والبُنى المستندة إلى الخدمات الصغيرة. تعرف مهمة أتمتة عدد كبير من الحاويات وإدارتها وكيفية تفاعلها باسم التزامن. ويشمل منسقي الحاويات الشائعين Kubernetes، ونظام تشغيل سحابياً موزعاً DC/OSK، وDocker Swarm.

توفر Azure Container Instances بعض قدرات الجدولة الأساسية لأنظمة التنسيق الأساسية. ومع أنه لا يشمل الخدمات ذات القيمة الأعلى التي توفرها تلك الأنظمة الأساسية فإن Azure Container Instances يمكن أن تكون مكملة لها. توضح هذه المقالة نطاق ما يعالجه Azure Container Instances وكيفية تفاعل منسقي حاوية معها.

التنسيق التقليدي

يتضمن التعريف القياسي للتنسيق المهام التالية:

  • الجدولة: نظراً لنسخة إحدى الحاويات وطلب مورد، ابحث عن جهاز مناسب لتشغيل الحاوية عليه.
  • ترابط / لا ترابط: تحديد أن مجموعة من الحاويات يجب تشغيلها وهي قريبة من بعضها (للأداء) أو متباعدة بما فيه الكفاية (للتوافر).
  • مراقبة الحماية:مراقبة حالات فشل الحاوية وإعادة جدولتها تلقائياً.
  • تجاوز الفشل:تعقب ما يُشغل على كل جهاز، والحاويات المُعاد جدولتها من أجهزة فشلت إلى عقد سليمة.
  • التحجيم: إضافة مثيلات الحاوية أو إزالتها لمطابقة الطلب، إما يدوياً أو تلقائياً.
  • عمليات الشبكة: توفير شبكة مركّبة لتنسيق الحاويات للاتصال عبر أجهزة مضيفة متعددة.
  • اكتشاف الخدمة:تمكين الحاويات من تحديد موقع بعضها تلقائياً، حتى في أثناء تنقلها بين الأجهزة المضيفة وتغيير عناوين IP.
  • ترقيات التطبيق المنسقة: إدارة ترقيات الحاوية لتجنب وقت تعطل التطبيق، وتمكين العودة إلى الحالة السابقة إذا حدث خطأ ما.

التنسيق مع Azure Container Instances: نهج متعدد الطبقات

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

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

السيناريوهات

في حين أن تكامل المنسق مع Azure Container Instance لا يزال حديثاً، فإننا نتوقع ظهور بيئات مختلفة قليلة:

تنسيق مثيلات الحاوية حصرياً

نظراً لأنها تبدأ بسرعة ويُفوتر بالثانية، فإن البيئة القائمة حصرياً على Azure Container Instances تقدم أسرع طريقة للبدء والتعامل مع أحمال العمل المتغيرة للغاية.

تركيبة من مثيلات الحاوية والحاويات في الأجهزة الظاهرية

وبالنسبة لأحمال العمل الثابتة قيد التشغيل لفترة طويلة، يكون تنسيق الحاويات في مجموعة من الأجهزة الظاهرية المخصصة أرخص عادة من تشغيل الحاويات ذاتها مع Azure Container Instances. ومع ذلك، توفر مثيلات الحاويات حلاً رائعاً لتوسيع قدرتك الإنتاجية الإجمالية بسرعة وتقليصها للتعامل مع الارتفاعات غير المتوقعة أو قصيرة الأجل في الاستخدام.

بدلاً من تحجيم عدد الأجهزة الظاهرية في مجموعتك، ثم نشر حاويات إضافية على تلك الأجهزة، يمكن للمنسق ببساطة جدولة الحاويات الإضافية في Azure Container Instances، وحذفها عندما لا تعد مطلوبة.

نموذج التنفيذ: العقد الظاهرية لخدمة Azure Kubernetes

لتغيير حجم أحمال عمل التطبيق بسرعة في مجموعة خدمة Azure Kubernetes، يمكنك استخدام العقد الظاهرية المُنشّأة ديناميكياً في Azure Container Instances. تمكن العقد الظاهرية اتصال الشبكة بين وحدات الجراب التي تعمل في Azure Container Instances ومجموعة خدمة Azure Kubernetes.

تدعم العقد الظاهرية حالياً مثيلات حاويات Linux. ابدأ باستخدام العقد الظاهرية مستخدماً Azure CLI أو مدخل Azure.

تستخدم العقد الظاهرية الظاهري Kubelet مفتوح المصدر لتقليد kubelet من Kubernetes بالتسجيل على أنها عقدة مع قدرة ذات قدرة إنتاجية غير محدودة. يرسل Kubelet الظاهري إنشاء وحدات الجراب على أنها مجموعات حاويات في Azure Container Instances.

اطلع على مشروع الظاهري Kubelet للحصول على أمثلة إضافية من توسيع API Kubernetes إلى أنظمة أساسية للحاويات التي تكون بلا خادم.

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

إنشاء الحاوية الأولى باستخدام Azure Container Instances مستخدماً دليل التشغيل السريع.