Application Gateway لمكونات الحاويات

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

المكونات الأساسية

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

بوابة التطبيق للواجهات الأمامية للحاويات

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

بوابة التطبيق لارتباطات الحاويات

  • مورد اقتران بوابة التطبيق للحاويات هو مورد تابع ل Azure للمورد الأصل لبوابة التطبيق للحاويات.
  • يعرف اقتران Application Gateway for Containers نقطة اتصال في شبكة ظاهرية. الاقتران هو تعيين 1:1 لمورد اقتران إلى شبكة Azure الفرعية التي تم تفويضها.
  • تم تصميم بوابة التطبيق للحاويات للسماح لارتباطات متعددة.
    • في الوقت الحالي، يقتصر العدد الحالي للاقترانات حاليا على 1.
  • أثناء إنشاء اقتران، يتم توفير مستوى البيانات الأساسي وتوصياله بشبكة فرعية داخل الشبكة الفرعية للشبكة الظاهرية المحددة.
  • يجب أن يفترض كل اقتران توفر 256 عنوانا على الأقل في الشبكة الفرعية في وقت التوفير.
    • قناع شبكة فرعية /24 كحد أدنى لكل عملية نشر (بافتراض أنه لم يتم توفير أي موارد مسبقا في الشبكة الفرعية).
      • إذا تم توفير عدد n من بوابة التطبيق للحاويات، مع افتراض أن كل بوابة تطبيق للحاويات تحتوي على اقتران واحد، والهدف هو مشاركة نفس الشبكة الفرعية، يجب أن تكون العناوين المطلوبة المتوفرة n*256.
    • يجب أن تتطابق كافة موارد اقتران Application Gateway for Containers مع نفس المنطقة مثل المورد الأصل Application Gateway for Containers.

بوابة التطبيق لوحدة تحكم ALB للحاويات

  • Application Gateway for Containers ALB Controller هو توزيع Kubernetes الذي ينسق تكوين وتوزيع Application Gateway للحاويات من خلال مشاهدة Kubernetes كل من الموارد المخصصة وتكوينات الموارد، مثل، على سبيل المثال لا الحصر، الدخول والبوابة وApplicationLoadBalancer. يستخدم كلا من ARM / Application Gateway لواجهات برمجة تطبيقات تكوين الحاويات لنشر التكوين إلى Application Gateway لتوزيع Azure للحاويات.
  • يتم نشر / تثبيت وحدة تحكم ALB عبر Helm.
  • تتكون وحدة تحكم ALB من جرابين قيد التشغيل.
    • جراب alb-controller مسؤول عن تنسيق هدف العميل إلى تكوين موازنة تحميل بوابة التطبيق للحاويات.
    • جراب alb-controller-bootstrap مسؤول عن إدارة CRDs.

Azure / المفاهيم العامة

عنوان IP خاص

  • لا يتم تعريف عنوان IP الخاص بشكل صريح كمورد Azure Resource Manager. يشير عنوان IP الخاص إلى عنوان مضيف محدد داخل الشبكة الفرعية لشبكة ظاهرية معينة.

تفويض الشبكة الفرعية

  • Microsoft.ServiceNetworking/trafficControllers هي مساحة الاسم التي تعتمدها بوابة التطبيق للحاويات وقد يتم تفويضها إلى الشبكة الفرعية للشبكة الظاهرية.
  • عند حدوث التفويض، لا يحدث توفير Application Gateway لموارد الحاويات، ولا يوجد تعيين خاص لمورد اقتران Application Gateway for Containers.
  • يمكن أن يكون لأي عدد من الشبكات الفرعية تفويض شبكة فرعية هو نفسه أو مختلف عن Application Gateway للحاويات. بمجرد تعريفها، لا يمكن توفير أي موارد أخرى، بخلاف الخدمة المعرفة، في الشبكة الفرعية ما لم يتم تعريفها بشكل صريح من خلال تنفيذ الخدمة.

الهوية المُدارة التي يعيّنها المُستخدم

  • الهويات المدارة لموارد Azure تلغي الحاجة إلى إدارة بيانات الاعتماد في التعليمات البرمجية.
  • مطلوب هوية مدارة من قبل المستخدم لكل وحدة تحكم موازن تحميل Azure لإجراء تغييرات على بوابة التطبيق للحاويات.
  • AppGw for Containers Configuration Manager هو دور RBAC مضمن يسمح لوحدة تحكم ALB بالوصول إلى مورد Application Gateway for Containers وتكوينه.

إشعار

يحتوي دور AppGw for Containers Configuration Manager على أذونات إجراء البيانات التي لا يملكها أدوار المالك والمساهم. من الضروري تفويض الأذونات المناسبة لمنع حدوث مشكلات في وحدة تحكم ALB التي تجري تغييرات على خدمة Application Gateway for Containers.

كيف تقبل بوابة التطبيق للحاويات طلبا

توفر كل بوابة تطبيق للواجهة الأمامية للحاويات اسم مجال مؤهل بالكامل تم إنشاؤه بواسطة Azure. يمكن استخدام FQDN كما هو أو قد يختار العملاء إخفاء FQDN مع سجل CNAME.

قبل أن يرسل العميل طلبا إلى بوابة التطبيق للحاويات، يحل العميل CNAME الذي يشير إلى FQDN للواجهة الأمامية؛ أو قد يقوم العميل بحل FQDN الذي توفره بوابة التطبيق للحاويات مباشرة باستخدام خادم DNS.

يقوم محلل DNS بترجمة سجل DNS إلى عنوان IP.

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

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

كيف تقوم بوابة التطبيق للحاويات بتوجيه طلب

طلبات HTTP/2

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

تعديل الطلب

تقوم بوابة التطبيق للحاويات بإدراج ثلاثة عناوين إضافية لجميع الطلبات قبل بدء الطلبات من بوابة التطبيق للحاويات إلى هدف الواجهة الخلفية:

  • x-forwarded-for
  • x-forwarded-proto
  • x-request-id

x-forwarded-for هو عنوان IP للعميل الخاص بالطالب الأصلي. إذا كان الطلب قادما من خلال وكيل، فإن قيمة العنوان تلحق العنوان المستلم، محددا بفاصلة. في المثال: 1.2.3.4,5.6.7.8; حيث 1.2.3.4 هو عنوان IP للعميل إلى الوكيل أمام بوابة التطبيق للحاويات، و5.6.7.8 هو عنوان وكيل إعادة توجيه حركة المرور إلى بوابة التطبيق للحاويات.

تقوم x-forwarded-proto بإرجاع البروتوكول الذي تلقته بوابة التطبيق للحاويات من العميل. القيمة هي إما http أو https.

x-request-id هو معرف فريد تم إنشاؤه بواسطة بوابة التطبيق للحاويات لكل طلب عميل ويتم تقديمه في الطلب المعاد توجيهه إلى هدف الواجهة الخلفية. يتكون المعرف الفريد العمومي من 32 حرفا أبجديا رقميا مفصولا بشرطات (على سبيل المثال: d23387ab-e629-458a-9c93-6108d374bc75). يمكن استخدام هذا المعرف الفريد العمومي لربط طلب تم تلقيه بواسطة بوابة التطبيق للحاويات وبدءه بهدف الواجهة الخلفية كما هو محدد في سجلات الوصول.

مهلات الطلب

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

المهلة المدة ‏‏الوصف
مهلة الطلب 60 ثانية الوقت الذي تنتظر فيه بوابة التطبيق للحاويات استجابة هدف الواجهة الخلفية.
مهلة الخمول ل HTTP 5 دقائق مهلة الخمول قبل إغلاق اتصال HTTP.
مهلة الخمول للبث 5 دقائق مهلة الخمول قبل إغلاق دفق فردي يحمله اتصال HTTP.
مهلة الاتصال المصدر 5 seconds وقت إنشاء اتصال بالهدف الخلفي.