ما المقصود بوحدة التحكم في دخول بوابة التطبيق؟

تطبيق Application Gateway Ingress Controller (AGIC) هو أحد تطبيقات Kubernetes، مما يتيح لعملاء خدمة Azure Kubernetes (AKS) الاستفادة من موازن تحميل التطبيق Gateway L7 الأصلي من Azure لعرض برامج السحابة على الإنترنت. تراقب AGIC مجموعة Kubernetes التي تستضيفها وتحدث بوابة التطبيق باستمرار، بحيث يتم عرض الخدمات المحددة على الإنترنت.

يعمل Ingress Controller في الكبسولة الخاصة به على AKS الخاص بالعميل. تراقب AGIC مجموعة فرعية من Kubernetes Resources لمعرفة التغييرات. تتم ترجمة حالة مجموعة AKS إلى التكوين الخاص بـ Application Gateway وتطبيقها على Azure Resource Manager (ARM).

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

يساعد AGIC على التخلص من الحاجة إلى وجود موازن تحميل آخر/ عنوان IP عام أمام مجموعة AKS ويتجنب القفزات المتعددة في مسار البيانات قبل أن تصل الطلبات إلى نظام مجموعة AKS. يتحدث Application Gateway إلى pods باستخدام عنوان IP الخاص بها مباشرة ولا يتطلب خدمات NodePort أو KubeProxy. توفر هذه الإمكانية أيضا أداء أفضل إلى عمليات التوزيع الخاصة بك.

يتم دعم وحدة تحكم الدخول حصريا من قبل وحدات SKU Standard_v2 WAF_v2، والتي تمكن أيضا مزايا التوسع التلقائي. يمكن أن تتفاعل بوابة التطبيقات استجابةً لزيادة أو نقصان حمل حركة المرور وحجمه وفقًا لذلك، دون استهلاك أي موارد من مجموعة AKS الخاصة بك.

ويساعد استخدام Application Gateway بالإضافة إلى AGIC أيضًا على حماية مجموعة AKS الخاصة بك من خلال توفير سياسة TLS ووظيفة جدار حماية تطبيق الويب (WAF).

Azure Application Gateway + AKS

يتم تكوين AGIC عبر مورد Ingress resource، جنبًا إلى جنب مع الخدمة والنشر / Pods. يوفر العديد من الميزات، باستخدام موازن تحميل Application Gateway L7 الأصلي في Azure. على سبيل المثال لا الحصر ما يلي:

  • توجيه URL
  • التقارب المستند إلى ملفات تعريف الارتباط
  • إنهاء TLS
  • TLS من طرف إلى طرف
  • دعم مواقع الويب العامة والخاصة والمختلطة
  • جدار حماية تطبيق ويب متكامل

الفرق بين نشر Helm و AKS Add-On

هناك طريقتان لنشر AGIC لمجموعة AKS الخاصة بك. الطريقة الأولى هي من خلال هيلم. والثانية من خلال AKS كإضافة. الفائدة الأساسية لنشر AGIC كوظيفة AKS إضافية هي أنها أبسط من النشر من خلال Helm. لإعداد جديد، يمكنك نشر بوابة تطبيق جديدة ومجموعة AKS جديدة مع تمكين AGIC كإضافة في سطر واحد في Azure CLI. الوظيفة الإضافية هي أيضًا خدمة مُدارة بالكامل، توفر مزايا إضافية مثل التحديثات التلقائية والدعم المتزايد. تدعم Microsoft طريقتين لنشر AGIC (الوظيفة الإضافية Helm و AKS). بالإضافة إلى ذلك، تسمح الوظيفة الإضافية بتكامل أفضل مع AKS كإضافة من الدرجة الأولى.

لا تزال الوظيفة الإضافية AGIC منتشرة كجراب في مجموعة AKS الخاصة بالعميل، ومع ذلك، هناك بعض الاختلافات بين إصدار نشر Helm وإصدار المكون الإضافي من AGIC. فيما يلي قائمة بالاختلافات بين الإصدارين:

  • لا يمكن تعديل قيم نشر Helm على الوظيفة الإضافية AKS:
    • verbosityLevel يتم تعيين إلى 5 بشكل افتراضي
    • usePrivateIp يتم تعيين على أن يكون خطأ بشكل افتراضي؛ يمكن الكتابة فوق هذا الإعداد بواسطة التعليق التوضيحي use-private-ip
    • shared غير مدعوم في الوظيفة الإضافية
    • reconcilePeriodSeconds غير مدعوم في الوظيفة الإضافية
    • armAuth.type غير مدعوم في الوظيفة الإضافية
  • تدعم AGIC المنتشرة عبر Helm ProhibitedTargets، مما يعني أن AGIC يمكنها تكوين بوابة التطبيق خصيصًا لمجموعات AKS دون التأثير على الخلفيات الموجودة الأخرى. لا تدعم الوظيفة الإضافية AGIC هذه الإمكانية حاليا.
  • نظرا لأن الوظيفة الإضافية AGIC هي خدمة مدارة، يتم تحديث العملاء تلقائيا إلى أحدث إصدار من الوظيفة الإضافية AGIC، على عكس AGIC المنشورة من خلال Helm حيث يجب على العميل تحديث AGIC يدويا.

إشعار

يمكن للعملاء نشر وظيفة إضافية واحدة فقط لكل مجموعة AKS، ويمكن لكل مكون إضافي من AGIC حاليًّا استهداف بوابة تطبيق واحدة فقط. لعمليات النشر التي تتطلب أكثر من AGIC لكل مجموعة أو عدة AGICs تستهدف بوابة تطبيق واحدة، يرجى الاستمرار في استخدام AGIC المنشور من خلال Helm.

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

  • AKS Add-On Greenfield Deployment: تعليمات حول تثبيت مكون AGIC و AKS و Application Gateway على بنية تحتية فارغة.
  • AKS Add-On Brownfield Deployment: قم بتثبيت الوظيفة الإضافية AGIC على مجموعة AKS باستخدام بوابة تطبيق موجودة.
  • Helm Greenfield Deployment: قم بتثبيت AGIC من خلال Helm ومجموعة AKS الجديدة وبوابة التطبيقات الجديدة على بنية تحتية فارغة.
  • Helm Brownfield Deployment: انشر AGIC من خلال Helm على مجموعة AKS و Application Gateway.